# Copyright (c) 2010 Flowerfire, Inc. All Rights Reserved. confluence = { plugin_version = "1.2" info.1.manfacturer = "Atlassian" info.1.device = "Confluence" info.1.version = "" # 2010-04-30 - 1.0 - GMF - Initial creation # 2010-05-10 - 1.1 - GMF - Added extraction of operation, user, url, and source_ip from doFilter lines # 2010-05-11 - 1.2 - GMF - Added location and file_type # The name of the log format log.format.format_label = "Atlassian Confluence 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 #2010-03-31 20:20:56,985 INFO [main] [com.atlassian.confluence.lifecycle] contextInitialized Starting Confluence 3.1 (build #1722) log.format.autodetect_regular_expression = "^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9],[0-9][0-9][0-9] [A-Z]+ [[]main[]] [[]com[.]atlassian[.]confluence" # The format of dates and times in this log log.format.date_format = "auto" log.format.time_format = "auto" # Log fields log.fields = { date = "" time = "" level = "" thread = "" class = "" message = "" operation = "" user = "" url.type = "page" file_type = "" source_ip.type = "host" location = "" } # log.fields log.parsing_filters.parse = ` if (matches_regular_expression(current_log_line(), "^([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]) ([0-9 ][0-9]:[0-9][0-9]:[0-9][0-9]),[0-9][0-9][0-9] ([A-Z]+) [[]([^]]+)[]] [[]([^]]+)[]] (.*)$")) then ( date = $1; time = $2; level = $3; thread = $4; class = $5; message = $6; # e.g. doFilter admin http://somewhere.com/confluence/display/ENG/4.+XYZ 164759-30147 254 12.34.56.78 if (matches_regular_expression(message, "^(doFilter) ([^ ]+) ([a-z]+://[^ ]+) ([^ ]+) ([^ ]+) ([0-9.]+)$")) then ( operation = $1; user = $2; url = $3; # $4 unknown # $5 unknown source_ip = $6; ); # if doFilter ); # if matches ` # log.parsing_filters.parse # Database fields database.fields = { date_time = "" day_of_week = "" hour_of_day = "" level = "" thread = "" class = "" message = "" operation = "" user = "" url = "" file_type = "" source_ip = "" location = "" } # 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 } # confluence