[logback-dev] [JIRA] Commented: (LBCORE-234) write a special line as the first line in any log file so that the file can be automatically parsed by a tool
James Strachan (JIRA)
noreply-jira at qos.ch
Tue Mar 13 15:17:26 CET 2012
[ http://jira.qos.ch/browse/LBCORE-234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12379#action_12379 ]
James Strachan commented on LBCORE-234:
---------------------------------------
Awsome stuff Ceki!!
> write a special line as the first line in any log file so that the file can be automatically parsed by a tool
> -------------------------------------------------------------------------------------------------------------
>
> Key: LBCORE-234
> URL: http://jira.qos.ch/browse/LBCORE-234
> Project: logback-core
> Issue Type: New Feature
> Components: Layout
> Affects Versions: 0.9.9
> Reporter: James Strachan
> Assignee: Ceki Gulcu
>
> So there's a few tools out there for parsing log files; most of them require the user to create a regex or find the right line of some config file to figure out what the Pattern layout expression was used to create the log file. The problem with these is the regex/patterns are quite brittle; its easy for code/dependencies to change and new log configuration to become effective or for users to not know the correct config/pattern for a file. (Its easy to have quite a few log configuration files in a tarball/war/bundle and not be quite sure which one is really active in a container for example).
> A simpler idea would be to (optionally but hopefully by default) output the first line of every log file some kind of well known first line (which can easily be excluded by tools that grep for stuff or whatever) which describes the pattern layout thats being used to write the file - so files generated by logback would be automatically parseable by a generic tool. Indeed it'd be nice to have such a tool; so you can easily load a file and turn it into ILoggingEvent objects by parsing the first line...
> e.g. imaging if all the files (including rolling logs and whatnot) looked like this...
> {code}
> #logback.ConversionPattern=%d{ABSOLUTE} | %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n
> 11:52:08,267 | INFO | FelixStartLevel | BlueprintExtender | rint.container.BlueprintExtender 124 | 9 - org.apache.aries.blueprint - 0.3.1 | No quiesce support is available, so blueprint components will not participate in quiesce operations
> 11:52:08,400 | INFO | rint Extender: 2 | BlueprintContainerImpl | container.BlueprintContainerImpl 266 | 9 - org.apache.aries.blueprint - 0.3.1 | Bundle org.apache.karaf.management is waiting for namespace handlers
> 11:52:08,704 | INFO | FelixStartLevel | jmx | ? ? | 27 - org.apache.aries.jmx - 0.3.0 | Starting JMX OSGi agent
> {code}
> so via a simple bit of code the first line (or all lines starting with #logback.) could be parsed to figure out the format of the file; then the rest of the file could be turned into ILogEvents and passed into tools - or rendered easily in the logback eclipse plugin for example.
> Folks could even reverse engineer log formats and make sure other framework/tools/apps output the correct log format up front.
> Then dev/ops can just 'open a log' and its not just text with error prone regex/parsing expressions that have to be guessed but a kinda 'self describing log markup'
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the logback-dev
mailing list