Class: Mizuno::Logger
- Inherits:
-
Logger
- Object
- Logger
- Mizuno::Logger
- Defined in:
- lib/mizuno/logger.rb
Constant Summary collapse
- LEVELS =
{ ::Logger::DEBUG => Java.org.apache.log4j.Level::DEBUG, ::Logger::INFO => Java.org.apache.log4j.Level::INFO, ::Logger::WARN => Java.org.apache.log4j.Level::WARN, ::Logger::ERROR => Java.org.apache.log4j.Level::ERROR, ::Logger::FATAL => Java.org.apache.log4j.Level::FATAL }
Class Method Summary collapse
-
.configure(options = {}) ⇒ Object
Configure Log4J.
- .logger ⇒ Object
Instance Method Summary collapse
- #add(severity, message = nil, progname = nil) ⇒ Object
- #close ⇒ Object
- #flush ⇒ Object
-
#initialize ⇒ Logger
constructor
A new instance of Logger.
- #puts(message) ⇒ Object
- #write(message) ⇒ Object
Constructor Details
#initialize ⇒ Logger
Returns a new instance of Logger.
64 65 66 |
# File 'lib/mizuno/logger.rb', line 64 def initialize @log4j = Java.org.apache.log4j.Logger.getLogger('ruby') end |
Class Method Details
.configure(options = {}) ⇒ Object
Configure Log4J.
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/mizuno/logger.rb', line 19 def Logger.configure( = {}) return if @options @options = # Default logging threshold. limit = [:warn] ? "WARN" : "ERROR" limit = "DEBUG" if ($DEBUG or [:debug]) if ![:log4j] # Base logging configuration. config = <<-END log4j.rootCategory = #{limit}, default log4j.logger.org.eclipse.jetty.util.log = #{limit}, default log4j.appender.default.Threshold = #{limit} log4j.appender.default.layout = org.apache.log4j.PatternLayout END # Should we log to the console? config.concat(<<-END) unless [:log] log4j.appender.default = org.apache.log4j.ConsoleAppender log4j.appender.default.layout.ConversionPattern = %m\\n END # Are we logging to a file? config.concat(<<-END) if [:log] log4j.appender.default = org.apache.log4j.FileAppender log4j.appender.default.Append = true log4j.appender.default.File = #{[:log]} log4j.appender.default.layout.ConversionPattern = %d %p %m\\n END # Set up Log4J via Properties. properties = Properties.new properties.load(ByteArrayInputStream.new(config.to_java_bytes)) PropertyConfigurator.configure(properties) end # Create the default logger that gets used everywhere. @logger = new end |
.logger ⇒ Object
60 61 62 |
# File 'lib/mizuno/logger.rb', line 60 def Logger.logger @logger end |
Instance Method Details
#add(severity, message = nil, progname = nil) ⇒ Object
68 69 70 71 |
# File 'lib/mizuno/logger.rb', line 68 def add(severity, = nil, progname = nil) content = ( or (block_given? and yield) or progname) @log4j.log(LEVELS[severity], content) end |
#close ⇒ Object
85 86 87 |
# File 'lib/mizuno/logger.rb', line 85 def close # No-op. end |
#flush ⇒ Object
81 82 83 |
# File 'lib/mizuno/logger.rb', line 81 def flush # No-op. end |
#puts(message) ⇒ Object
73 74 75 |
# File 'lib/mizuno/logger.rb', line 73 def puts() write(.to_s) end |
#write(message) ⇒ Object
77 78 79 |
# File 'lib/mizuno/logger.rb', line 77 def write() add(INFO, ) end |