Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

new section: customizing logger output format #117

merged 1 commit into from Sep 11, 2012
Jump to file or symbol
Failed to load files and symbols.
+35 −0
@@ -121,3 +121,38 @@ $securityLogger = new Logger('security');
+Customizing log format
+In Monolog it's easy to customize the format of the logs written into files,
+sockets, mails, databases and other handlers. Most of the handlers use the
+value to be automatically put into the log device. This value depends on the
+formatter settings. You can choose between predefined formatter classes or
+write your own (e.g. a multiline text file for human-readable output).
+To configure a predefined formatter class, just set it as the handler's field:
+// the default date format is "Y-m-d H:i:s"
+$dateFormat = "Y n j, g:i a";
+// the default output format is "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n"
+$output = "%datetime% > %level_name% > %message% %context% %extra%\n"
+// finally, create a formatter
+$formatter = new LineFormatter($output, $dateFormat);
+// Create a handler
+$stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG);
+// bind it to a logger object
+$securityLogger = new Logger('security');
+You may also reuse the same formatter between multiple handlers and share those
+handlers between multiple loggers.