This one had me going for a while when using LOG_ constants in another object, when developing on Windows, but deploying on Linux.
Windows evaluates some of the LOG_ constants to the same value, while LINUX does not.
The 8 constants and their differences on the platforms to be aware of:
Linux has these values as:
========================
LOG_EMERG = 0
LOG_ALERT = 1
LOG_CRIT = 2
LOG_ERR = 3
LOG_WARNING = 4
LOG_NOTICE = 5
LOG_INFO = 6
LOG_DEBUG = 7
While on Windows, you have:
==========================
LOG_EMERG = 1
LOG_ALERT = 1
LOG_CRIT = 1
LOG_ERR = 4
LOG_WARNING = 5
LOG_NOTICE = 6
LOG_INFO = 6
LOG_DEBUG = 6
So if you're setting LOG_WARNING in your code, Linux will use 4 as the priority while Windows will use 5.
This is not a bug in PHP on either platform, but a difference in the system header files that PHP compiles with. Not really anything you can do, but be aware if you're wondering why your messages log at different priorities depending on the platform, this could be why.