Where does Lollipop stores notification log?
The historical record is stored in memory, and is not directly available in the service API (as far as I'm aware). The Settings activity accesses it through the NotificationService.getHistoricalNotifications() method, but this method is not exposed in the NotificationManager API (only getActiveNotifications() is). You might be able to do it through reflection (not tested) but you definitely will not be able to find a file with this information. My understanding of most apps that display these records is that they actually keep their own list somewhere, and add new items as they are posted. Hence, they would not be able to access your historical record from before the time of installation.

All of the logic for managing the queue is in the NotificationManagerService$Archive inner class. The gist of it is that when a new notification comes in, the system sends it to the the service which then calls Archive.record(notification). By default, AOSP has the configuration set so that the Archive will hold a maximum of 100 records, then it will start popping the front item from the queue each time a new one is added.

Your only real option here is likely going to be polling the output of either adb dumpsys or the NotificationManager.