Class: GreenSyslogger
- Inherits:
-
Object
- Object
- GreenSyslogger
- Defined in:
- lib/green_syslogger.rb
Overview
Custom log
To install it cofigure it on the <RAILS_ENVIRONMENT>.rb:
config.logger = GreenSyslogger.new(<default tag>, <facility>, <level>)
By default
GreenSyslogger.new('rails', 'local2', :debug)
To use it:
logger.debug("my debug message")
logger.error("my error message")
To user another tag:
logger.custom("my custom message", <tag>, <level>)
By default:
logger.custom("my custom message", 'custom', :info)
Constant Summary collapse
- LEVELS_MAP =
Mapping between Logger levels and Syslog levels
{ :debug => [:debug , 0], :info => [:info , 1], :warn => [:warning , 2], :error => [:err , 3], :fatal => [:emerg , 4], :unknown => [:debub , 5] }
- DEFAULT_CONF =
[ Syslog::LOG_PID, Syslog::LOG_LOCAL2 ]
Instance Attribute Summary collapse
-
#level ⇒ Object
Returns the value of attribute level.
Instance Method Summary collapse
- #close ⇒ Object
-
#custom(message, tag = 'custom', level = :info) ⇒ Object
level default to ‘info’ tag default ‘ids-custom’.
-
#initialize(tag = 'rails', facility = 'local2', level = :debug) ⇒ GreenSyslogger
constructor
A new instance of GreenSyslogger.
-
#log(message, level = :info) ⇒ Object
level default to ‘info’.
- #opened? ⇒ Boolean
Constructor Details
#initialize(tag = 'rails', facility = 'local2', level = :debug) ⇒ GreenSyslogger
Returns a new instance of GreenSyslogger.
40 41 42 43 44 45 |
# File 'lib/green_syslogger.rb', line 40 def initialize(tag = 'rails', facility = 'local2', level = :debug) @tag = tag @facility = facility @level = level @syslog = Syslog.open( @tag, Syslog::LOG_PID, Syslog.const_get( "LOG_#{@facility.upcase}" ) ) end |
Instance Attribute Details
#level ⇒ Object
Returns the value of attribute level.
26 27 28 |
# File 'lib/green_syslogger.rb', line 26 def level @level end |
Instance Method Details
#close ⇒ Object
47 48 49 |
# File 'lib/green_syslogger.rb', line 47 def close @syslog.close end |
#custom(message, tag = 'custom', level = :info) ⇒ Object
level default to ‘info’ tag default ‘ids-custom’
57 58 59 60 61 |
# File 'lib/green_syslogger.rb', line 57 def custom(, tag = 'custom', level = :info) @syslog = Syslog.reopen( tag, Syslog::LOG_PID, Syslog.const_get( "LOG_#{@facility.upcase}" ) ) self.log(, level) @syslog = Syslog.reopen( @tag, Syslog::LOG_PID, Syslog.const_get( "LOG_#{@facility.upcase}" ) ) end |
#log(message, level = :info) ⇒ Object
level default to ‘info’
64 65 66 67 |
# File 'lib/green_syslogger.rb', line 64 def log(, level = :info) # File.open("/tmp/ids.log", 'w') { |f| f.write(message) } @syslog.send( LEVELS_MAP[level][0], clean( ) ) end |
#opened? ⇒ Boolean
51 52 53 |
# File 'lib/green_syslogger.rb', line 51 def opened? @syslog.opened? end |