indexing description: "Testcases for the pattern layout and pattern parser. " library: "elogger" copyright: "Copyright (c) 2006, AXA Rosenberg, and others (see copyright.txt)" author: "Ulrich Weiss, and others" license: "Eiffel Forum License v2 (see forum.txt)" date: "$Date: $" revision: "$Revision: $" archive: "$Archive: $" deferred class TEST_ELOG_PATTERN_LAYOUT inherit TS_TEST_CASE undefine name_of_id, execute_i_th end ELOG_SEVERITY_CONSTANTS DT_SHARED_SYSTEM_CLOCK export {NONE} all end feature -- Test test_log_pattern_layout is local h: ELOG_HIERARCHY logger: ELOG_LOGGER appender: ELOG_BUFFER_APPENDER layout: ELOG_PATTERN_LAYOUT event: ELOG_EVENT t: DT_DATE_TIME_DURATION start_time: DT_DATE_TIME do create h.make (Unknown_severity) logger := h.logger ("test") create appender.make ("stdout", True) start_time := system_clock.date_time_now create layout.make_with_start_time ("@d @t @r [@-9s] @c - @10.10m%N", start_time) appender.set_layout (layout) logger.add_appender (appender) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("This is fatal")) logger.log_critical (create {ELOG_SIMPLE_EVENT}.make ("This is critical")) logger.log_warning (create {ELOG_SIMPLE_EVENT}.make ("This is a warning")) logger.log_information (create {ELOG_SIMPLE_EVENT}.make ("This is information")) logger.log_unknown (create {ELOG_SIMPLE_EVENT}.make ("test")) event := appender.buffer.remove t := event.creation_time - start_time assert_strings_equal ("pattern1", event.creation_time.out+" "+ t.second_count.out+"."+t.millisecond.out+" [FATAL ] test - s is fatal%N", appender.layout.format (event)) event := appender.buffer.remove t := event.creation_time - start_time assert_strings_equal ("pattern2", event.creation_time.out+" "+ t.second_count.out+"."+t.millisecond.out+" [CRITICAL ] test - s critical%N", appender.layout.format (event)) event := appender.buffer.remove t := event.creation_time - start_time assert_strings_equal ("pattern3", event.creation_time.out+" "+ t.second_count.out+"."+t.millisecond.out+" [WARNING ] test - a warning%N", appender.layout.format (event)) event := appender.buffer.remove t := event.creation_time - start_time assert_strings_equal ("pattern4", event.creation_time.out+" "+ t.second_count.out+"."+t.millisecond.out+" [INFORMATION] test - nformation%N", appender.layout.format (event)) event := appender.buffer.remove t := event.creation_time - start_time assert_strings_equal ("pattern5", event.creation_time.out+" "+ t.second_count.out+"."+t.millisecond.out+" [UNKNOWN ] test - test%N", appender.layout.format (event)) h.close_all end end