# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. jboss_application_server = { plugin_version = "1.0.5" info.1.manfacturer = "JBoss (Red Hat)" info.1.device = "Application Server" info.1.version = "4.0" # 4.0.2 and 4.0.5 # 2007-08-07 - 1.0 - KBB - Initial creation # 2008-05-09 - 1.0.1 - GMF - Slight modifications to support leading spaces on line, and additional # spaces after the level field. # 2008-05-09 - 1.0.2 - GMF - Added support for date/time variant, and thread field. # 2008-05-21 - 1.0.3 - GMF - Added support for square brackets in the class field. # 2008-10-21 - 1.0.4 - KBB - Fixed 2 bugs introduced by 1.0.2 which broke exception logging. # 2011-03-28 - 1.0.5 - MSG - Edited info lines # The name of the log format log.format.format_label = "JBoss Application Server Log Format" log.miscellaneous.log_data_type = "generic" log.miscellaneous.log_format_type = "application" # The log is in this format if any of the first ten lines match this regular expression #2007-06-13 23:59:30,292 DEBUG [org.jboss.ejb.StatelessSessionContainer] Useless invocation of remove() for stateless session bean log.format.autodetect_expression = ` matches_regular_expression(volatile.log_data_line, '^ *[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]+ [A-Z]+ +\\[[^ ]+\\] ') or matches_regular_expression(volatile.log_data_line, '^ *[0-9][0-9] [A-Z][a-z][a-z] [0-9][0-9][0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9],[0-9]+ [A-Z]+ +[^ ]+ \\[[^ ]+\\] ') ` # The format of dates and times in this log log.format.date_format = "auto" log.format.time_format = "auto" # Don't introduce whitespace to force text to wrap #statistics.sizes.table_cell.maximum_continuous_text_length = 0 # Compromise because above causes problems with messages statistics.sizes.table_cell.maximum_continuous_text_length = 120 statistics.sizes.table_cell.maximum_continuous_text_length_offset = 0 # Don't truncate statistics.sizes.table_cell.maximum_text_length = 0 # All log field parsing will be done using the parsing filters log.format.parse_only_with_filters = true # Don't collect automatically except at eof log.format.collected_entry_lifespan = 0 # Log fields log.fields = { date = "" time = "" level = "" thread = "" class = "" message = "" exception = { type = "hierarchical" hierarchy_dividers = "|" left_to_right = true leading_divider = false } } # log.fields log.filter_initialization = ` string s_exception = ''; bool isException = false; ` # Log Parsing Filters log.parsing_filters.parse = ` v.line = current_log_line(); v.remainder = ''; #2007-06-13 16:49:13,073 DEBUG [org.jboss.logging.Log4jService] Added ThrowableListener: org.jboss.logging.Log4jService$ThrowableListenerLoggingAdapter@129b0e1 #2007-06-13 16:49:19,470 INFO [org.apache.catalina.startup.Embedded] Catalina naming disabled # Handle this format date/time: # 2008-04-15 11:50:50,203 DEBUG [javax.faces.webapp.UIComponentTag] Exited encodeBegin if (matches_regular_expression(v.line, '^ *([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2}),(.*)$')) then ( set_collected_field('', 'date', $1); set_collected_field('', 'time', $2); v.remainder = $3; ); # if numerical date/time # Handle this format date/time: # 15 Apr 2008 10:49:42,046 INFO main [org.apache.catalina.startup.Embedded] Catalina naming disabled else if matches_regular_expression(v.line, '^ *([0-9][0-9] [A-Z][a-z][a-z] [0-9][0-9][0-9][0-9]) ([0-9][0-9]:[0-9][0-9]:[0-9][0-9]),(.*)$') then ( set_collected_field('', 'date', $1); set_collected_field('', 'time', $2); v.remainder = $3; ); # if dd mmm yyyy date/time # 2008-05-09 - GMF - Handle format with or without the extra field before [] (thread?) # 15 Apr 2008 10:49:42,046 INFO main [org.apache.catalina.startup.Embedded] Catalina naming disabled # 2008-05-09 - GMF - Handle brackets and slashes in class field. #2008-10-12 00:00:10,213 INFO [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/quickenweb]] WARNING: Component _id0 just got an automatic id, because there was no id assigned yet. If this component was created dynamically (i.e. not by a JSP tag) you should assign it an explicit static id or assign it the id you get from the createUniqueId from the current UIViewRoot component right after creation! if (matches_regular_expression(v.remainder, '^[0-9]+ ([A-Z]+) +()\\\\[([^ ]+)\\\\] (.*)$') or matches_regular_expression(v.remainder, '^[0-9]+ ([A-Z]+) +([^ ]+) \\\\[([^ ]+)\\\\] (.*)$')) then ( # Exception ends with new entry or eof if (isException) then ( accept_collected_entry('', false); isException = false; s_exception = ''; ); # if isException set_collected_field('', 'level', $1); set_collected_field('', 'thread', $2); set_collected_field('', 'class', $3); set_collected_field('', 'message', $4); if ($1 eq 'ERROR') then ( isException = true; ); else ( accept_collected_entry('', false); ); ); else if (isException and v.line ne '') then ( if (matches_regular_expression(v.line, '^ at (.*)$')) then ( s_exception .= '\n| ' . $1; ); else ( s_exception .= ' ' . v.line; ); # Since the log may end with an exception, keep collecting into the field set_collected_field('', 'exception', s_exception); ); # if isException ` # Database fields database.fields = { date_time = "" day_of_week = "" hour_of_day = "" level = "" thread = "" class = "" message = "" exception.suppress_bottom = 200 } # database.fields database.numerical_fields = { events = { default = true requires_log_field = false entries_field = true } # events } # database.numerical_fields log.filters = { mark_entry = { label = '$lang_admin.log_filters.mark_entry_label' comment = '$lang_admin.log_filters.mark_entry_comment' value = 'events = 1;' } # mark_entry } # log.filters create_profile_wizard_options = { # How the reports should be grouped in the report menu report_groups = { date_time_group = "" } # report_groups } # create_profile_wizard_options } # jboss_application_server