Übersicht
Mehrfache Ausgabe | √ |
Mehrfache Ausgabe mit unterschiedlichem Level | ∅ |
Eigene Level möglich | ? |
Abfrage auf Level möglich? | ? |
Format definierbar | ? |
Tracing möglich? | ? |
Verhalten bei Logfiles | append |
URL des Rubyforge-Projekts | logging |
Vorhandene Level:
- fatal
- error
- warn
- info
- debug
Anmerkungen
- Beim Logging in Dateien wird angehängt
Coding-Beispiele
Beispiel 1: Logger auf STDOUT
require 'logging' logger = Logging::Logger['example_logger'] logger.add_appenders( Logging::Appender.stdout ) logger.level = :info logger.debug "this is a debug message" logger.info "this is a information" logger.warn "this is a warning" logger.error "this is an error message" logger.fatal "this is a message about a fatal error"
Ausgabe des Loggers auf STDOUT
INFO example_logger : this is a information WARN example_logger : this is a warning ERROR example_logger : this is an error message FATAL example_logger : this is a message about a fatal error
Beispiel 2: Logger in Datei
require 'logging' logger = Logging::Logger['example_logger'] logger.add_appenders( Logging::Appenders::File.new('test2_logger.log')) logger.level = :info logger.debug "this is a debug message" logger.info "this is a information" logger.warn "this is a warning" logger.error "this is an error message" logger.fatal "this is a message about a fatal error"
Ausgabe des Loggers log_warn (File)
INFO example_logger : this is a information WARN example_logger : this is a warning ERROR example_logger : this is an error message FATAL example_logger : this is a message about a fatal error INFO example_logger : this is a information WARN example_logger : this is a warning ERROR example_logger : this is an error message FATAL example_logger : this is a message about a fatal error
Beispiel 3: Mehrere gleichzeitige Loggerausgaben
Die mehrfache Ausgabe eines Logs kann sinnvoll sein. Fehler (ERROR und FATAL) werden beim Programmablauf ausgegeben (STDOUT), gleichzeitig werden in einer Datei zusätzlich die Warnungen, Informationen und Debughinweise gespeichert.
require 'logging' logger = Logging::Logger['example_logger'] logger.add_appenders( Logging::Appender.stdout, Logging::Appenders::File.new('test3_logger.log') ) logger.level = :info logger.debug "this is a debug message" logger.info "this is a information" logger.warn "this is a warning" logger.error "this is an error message" logger.fatal "this is a message about a fatal error"
Ausgabe des Loggers STDOUT
INFO example_logger : this is a information WARN example_logger : this is a warning ERROR example_logger : this is an error message FATAL example_logger : this is a message about a fatal error
Ausgabe des Loggers in eine Datei
INFO example_logger : this is a information WARN example_logger : this is a warning ERROR example_logger : this is an error message FATAL example_logger : this is a message about a fatal error