indexing description: "Test case for testing the hierarchy and logger inheritance" 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_HIERARCHY inherit TS_TEST_CASE undefine name_of_id, execute_i_th end ELOG_SEVERITY_CONSTANTS export {NONE} all end feature -- Test test_inheritance is -- Test the severity and local h: ELOG_HIERARCHY logger, logger2: ELOG_LOGGER a1, a2, a3: ELOG_APPENDER do create h.make (Warning_severity) logger := h.logger ("test") assert ("test_logger_added", h.has ("test")) -- check that we get the same logger if we use the same name logger2 := h.logger ("test") assert_same ("same_logger", logger, logger2) -- check a complex logger. All intermediate loggers should -- be created logger := h.logger ("a.b.c") assert ("logger_a_exists", h.has ("a")) assert ("logger_a.b_exists", h.has ("a.b")) assert ("logger_a.b.c_exists", h.has ("a.b.c")) -- test severity inheritance h.logger ("a.b.c").set_severity (Unknown_severity) h.logger ("a").set_severity (Fatal_severity) assert ("set a.b.c", h.logger ("a.b.c").severity = Unknown_severity) assert ("set a.b", h.logger ("a.b").severity = Fatal_severity) assert ("set a", h.logger ("a").severity = Fatal_severity) assert ("set root", h.root.severity = Warning_severity) assert ("set root", h.logger ("x.newlogger").severity = Warning_severity) h.logger ("a").set_severity (Void) assert ("set a.b.c", h.logger ("a.b.c").severity = Unknown_severity) assert ("set a.b.c", h.logger ("a.b.c").is_enabled_for (Unknown_severity)) assert ("set a.b", h.logger ("a.b").severity = Warning_severity) assert ("set a.b", not h.logger ("a.b").is_enabled_for (Unknown_severity)) assert ("set a.b", h.logger ("a.b").is_enabled_for (Warning_severity)) assert ("set a.b", h.logger ("a.b").is_enabled_for (Fatal_severity)) assert ("set a", h.logger ("a").severity = Warning_severity) assert ("set root", h.root.severity = Warning_severity) assert ("logger count", h.all_loggers.count = 7) -- test appender inheritance create {ELOG_STDOUT_APPENDER}a1.make ("appender1", False) create {ELOG_STDOUT_APPENDER}a2.make ("appender2", False) create {ELOG_STDOUT_APPENDER}a3.make ("appender3", False) h.root.wipe_out_appenders h.root.add_appender (a1) logger := h.logger ("a.b.c.d") assert ("a.b.c.d appenders", h.logger ("a.b.c.d").has_appender (a1) and h.logger ("a.b.c.d").count_appenders = 1) h.logger ("a.b.c.d").add_appender (a3) assert ("a.b.c.d appenders", h.logger ("a.b.c.d").has_appender (a1) and h.logger ("a.b.c.d").has_appender (a3) and h.logger ("a.b.c.d").count_appenders = 2) h.logger ("a.b").add_appender (a2) assert ("root appenders", h.root.has_appender (a1) and h.root.count_appenders = 1) assert ("a appenders", h.logger ("a").has_appender (a1) and h.logger ("a").count_appenders = 1) assert ("a.b appenders", h.logger ("a.b").has_appender (a1) and h.logger ("a.b").has_appender (a2) and h.logger ("a.b").count_appenders = 2) assert ("a.b.c appenders", h.logger ("a.b.c").has_appender (a1) and h.logger ("a.b.c").has_appender (a2) and h.logger ("a.b.c").count_appenders = 2) assert ("a.b.c.d appenders", h.logger ("a.b.c.d").has_appender (a1) and h.logger ("a.b.c.d").has_appender (a2) and h.logger ("a.b.c.d").has_appender (a3) and h.logger ("a.b.c.d").count_appenders = 3) assert ("new.new.new appenders", h.logger ("new.new.new").has_appender (a1) and h.logger ("new.new.new").count_appenders = 1) h.logger ("a.b").remove_appender ("appender2") assert ("root appenders", h.root.has_appender (a1) and h.root.count_appenders = 1) assert ("a appenders", h.logger ("a").has_appender (a1) and h.logger ("a").count_appenders = 1) assert ("a.b appenders", h.logger ("a.b").has_appender (a1) and h.logger ("a.b").count_appenders = 1) assert ("a.b.c appenders", h.logger ("a.b.c").has_appender (a1) and h.logger ("a.b.c").count_appenders = 1) assert ("a.b.c.d appenders", h.logger ("a.b.c.d").has_appender (a1) and h.logger ("a.b.c.d").has_appender (a3) and h.logger ("a.b.c.d").count_appenders = 2) assert ("new.new.new appenders", h.logger ("new.new.new").has_appender (a1) and h.logger ("new.new.new").count_appenders = 1) h.logger ("a.b.c.d").set_additive (False) assert ("a.b.c.d appenders", h.logger ("a.b.c.d").has_appender (a3) and h.logger ("a.b.c.d").count_appenders = 1) h.logger ("a.b.c.d").set_additive (True) assert ("a.b.c.d appenders", h.logger ("a.b.c.d").has_appender (a1) and h.logger ("a.b.c.d").has_appender (a3) and h.logger ("a.b.c.d").count_appenders = 2) h.close_all end end