indexing description: "Test the 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_ROLLING_FILE_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_rolling_file_appender is -- Test the rolling file appender -- write files and then check there contents. local h: ELOG_HIERARCHY logger: ELOG_LOGGER a: ELOG_ROLLING_FILE_APPENDER fname: STRING do create h.make (Warning_severity) logger := h.logger ("test") -- make sure the files do not exist yet fname := "rollingappender.log" delete_file (fname) delete_file (fname+".1") delete_file (fname+".2") delete_file (fname+".3") delete_file (fname+".4") -- Create new rolling appender with file size 5 and 6 rolls create a.make (fname , 200, 4, True, True) logger.add_appender (a) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) logger.log_warning (create {ELOG_SIMPLE_EVENT}.make ("test2")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) logger.log_critical (create {ELOG_SIMPLE_EVENT}.make ("test4")) logger.log_harmless (create {ELOG_SIMPLE_EVENT}.make ("testx")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test8")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test9")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test2")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test4")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test8")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test9")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test2")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test4")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test8")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test9")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test2")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test4")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test8")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test9")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test2")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test4")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test8")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test9")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test2")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test4")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test8")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test9")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test1")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test2")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test3")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test4")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test5")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test6")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test7")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test8")) logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make ("test9")) logger.close_appenders check_file_1 (fname) check_file_2 (fname+".1") check_file_3 (fname+".2") check_file_4 (fname+".3") check_file_5 (fname+".4") 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 get_stream_open (filename: STRING): KI_TEXT_INPUT_FILE is -- check files from first test part and delete them. require filename_not_void: filename /= Void do if operating_system.is_windows then Result := create {KL_WINDOWS_INPUT_FILE}.make (filename) else Result := create {KL_UNIX_INPUT_FILE}.make (filename) end Result.open_read if not Result.is_open_read then internal_logger.log_fatal (create {ELOG_SIMPLE_EVENT}.make_without_time ("Error: Failed to open file stream: " + filename)) end end check_file_1 (filename: STRING) is -- check files from first test part and delete them. require filename_not_void: filename /= Void local stream: KI_TEXT_INPUT_FILE do stream := get_stream_open (filename) stream.read_line stream.read_line assert_strings_equal ("checkfile1", "FATAL - test9", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test1", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test2", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test3", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test4", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test5", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test6", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test7", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test8", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test9", stream.last_string) stream.close stream.delete end check_file_2 (filename: STRING) is -- check files from first test part and delete them. require filename_not_void: filename /= Void local stream: KI_TEXT_INPUT_FILE do stream := get_stream_open (filename) stream.read_line stream.read_line assert_strings_equal ("checkfile1", "FATAL - test4", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test5", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test6", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test7", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test8", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test9", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test1", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test2", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test3", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test4", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test5", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test6", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test7", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test8", stream.last_string) stream.close stream.delete end check_file_3 (filename: STRING) is -- check files from first test part and delete them. require filename_not_void: filename /= Void local stream: KI_TEXT_INPUT_FILE do stream := get_stream_open (filename) stream.read_line stream.read_line assert_strings_equal ("checkfile1", "FATAL - test8", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test9", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test1", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test2", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test3", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test4", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test5", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test6", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test7", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test8", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test9", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test1", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test2", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test3", stream.last_string) stream.close stream.delete end check_file_4 (filename: STRING) is -- check files from first test part and delete them. require filename_not_void: filename /= Void local stream: KI_TEXT_INPUT_FILE do stream := get_stream_open (filename) stream.read_line stream.read_line assert_strings_equal ("checkfile1", "FATAL - test3", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test4", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test5", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test6", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test7", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test8", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test9", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test1", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test2", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test3", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test4", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test5", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test6", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test7", stream.last_string) stream.close stream.delete end check_file_5 (filename: STRING) is -- check files from first test part and delete them. require filename_not_void: filename /= Void local stream: KI_TEXT_INPUT_FILE do stream := get_stream_open (filename) stream.read_line stream.read_line assert_strings_equal ("checkfile1", "FATAL - test1", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "WARNING - test2", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test3", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "CRITICAL - test4", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test5", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test6", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test7", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test8", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test9", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test1", stream.last_string) stream.read_line assert_strings_equal ("checkfile1", "FATAL - test2", stream.last_string) stream.close stream.delete end end