indexing description: "Test the calendar rolling file appender. " 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_CALENDAR_APPENDER inherit TS_TEST_CASE undefine name_of_id, execute_i_th end ELOG_SEVERITY_CONSTANTS KL_SHARED_OPERATING_SYSTEM export {NONE} all end ELOG_SHARED_INTERNAL_LOGGER feature -- Basic operations test_calendar_rolling_file_appender is -- Test the calendar rolling file appender -- write files and then check there contents. local -- h: ELOG_HIERARCHY -- logger: ELOG_LOGGER -- a: ELOG_CALENDAR_ROLLING_APPENDER -- fname: STRING -- i: INTEGER do -- Note: This test is manual -- create h.make (Warning_severity) -- logger := h.logger ("test") -- i := 500000 -- -- make sure the files do not exist yet -- fname := "calendarappender.log" -- -- Create new rolling appender with file size 5 and 6 rolls -- create a.make_synchronous (fname, 4, False) -- a.set_rollover_period (1, 0, 0, 0, 0, 0, 0) -- logger.add_appender (a) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) -- delay (i) -- logger.log_warning (create {ELOG_SIMPLE_EVENT}.make ("test2")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) -- delay (i) -- logger.log_critical (create {ELOG_SIMPLE_EVENT}.make ("test4")) -- delay (i) -- logger.log_harmless (create {ELOG_SIMPLE_EVENT}.make ("testx")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test8")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test9")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test2")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test4")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) -- delay (i) -- logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) -- delay (i) -- logger.close_appenders -- -- -- remove the following lines if you want to look at the files -- delete_file (fname) -- delete_file (fname+".1") -- delete_file (fname+".2") -- delete_file (fname+".3") -- delete_file (fname+".4") end delay (n: INTEGER) is -- delays for 3*n clock cycles local i: INTEGER do from i := 0 until i > n loop i := i+1 end end delete_file (filename: STRING) is -- delete a certain file require filename_not_void: filename /= Void local stream: KI_TEXT_INPUT_FILE do if operating_system.is_windows then stream := create {KL_WINDOWS_INPUT_FILE}.make (filename) else stream := create {KL_UNIX_INPUT_FILE}.make (filename) end stream.delete end end