Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

log4j alignment

By checking IntelliJ IDEA's log output, I noticed the alignment was very nice (due amongst other to the fact that class names are right aligned and trimmed).

How do you do this using log4J? Do you need a special appender?

2011-01-08 00:48:53,938 [   2537]   INFO - ellij.vfs.persistent.FSRecords - Marking VFS as corrupted 
2011-01-08 00:48:53,987 [   2586]   INFO - api.vfs.impl.local.FileWatcher - Native file watcher is operational. 
2011-01-08 00:48:54,034 [   2633]   INFO - s.impl.stores.FileBasedStorage - Document was not loaded for $APP_CONFIG$/other.xml file is null 
2011-01-08 00:48:54,035 [   2634]   INFO - .impl.stores.XmlElementStorage - Document was not loaded for $APP_CONFIG$/other.xml 
2011-01-08 00:48:54,046 [   2645]   INFO - s.impl.stores.FileBasedStorage - Document was not loaded for $APP_CONFIG$/project.default.xml file is null 
2011-01-08 00:48:54,047 [   2646]   INFO - .impl.stores.XmlElementStorage - Document was not loaded for $APP_CONFIG$/project.default.xml 
2011-01-08 00:48:54,051 [   2650]   INFO - s.impl.stores.FileBasedStorage - Document was not loaded for $APP_CONFIG$/options.xml file is null 
2011-01-08 00:48:54,051 [   2650]   INFO - .impl.stores.XmlElementStorage - Document was not loaded for $APP_CONFIG$/options.xml 
2011-01-08 00:48:54,295 [   2894]   INFO - s.impl.stores.FileBasedStorage - Document was not loaded for $APP_CONFIG$/filetypes.xml file is null 
2011-01-08 00:48:54,295 [   2894]   INFO - .impl.stores.XmlElementStorage - Document was not loaded for $APP_CONFIG$/filetypes.xml 
2011-01-08 00:48:54,342 [   2941]   INFO - .history.utils.LocalHistoryLog - local history version mismatch (was: 0, expected: 5), rebuilding... 
2011-01-08 00:48:54,342 [   2941]   INFO - .history.utils.LocalHistoryLog - FS has been rebuild, rebuilding local history... 
like image 896
SyntaxT3rr0r Avatar asked Jan 21 '11 21:01

SyntaxT3rr0r


1 Answers

You can do this with PatternLayout. For example, you might define the logger category as:

%20.20c

This would cause the field to always be exactly 20 characters wide, left-padding with spaces if the value is less than 20 characters, and truncating it if greater than 20.

The PatternLayout for the logs in your question might be something like:

%d [%7.7r] %6.6p - %c{30} - %m%n
like image 199
Rob Hruska Avatar answered Sep 27 '22 22:09

Rob Hruska