examples/gmail.rb
# Log4r can be configured using YAML to email using STARTTLS. This example uses gmail.yaml
$: << File.join('..','lib') # path if log4r is not installed
require 'log4r'
require 'log4r/yamlconfigurator'
# we use various outputters, so require them, otherwise config chokes
require 'log4r/outputter/datefileoutputter'
require 'log4r/outputter/emailoutputter'
include Log4r
cfg = YamlConfigurator # shorthand
cfg['HOME'] = '.' # the only parameter in the YAML, our HOME directory
# load the YAML file with this
cfg.load_yaml_file('gmail.yaml')
# Method to log each of the custom levels
def do_logging(log)
log.deb "This is DEB"
log.inf "This is INF"
log.prt "This is PRT"
log.wrn "This is WRN"
log.err "This is ERR"
log.fat "This is FAT"
end
# turn off the email outputter
Outputter['email'].level = WRN
# the other two outputters log to stderr and a timestamped file in ./logs
do_logging( Logger['mylogger'])