Module: Yajl

Defined in:
lib/yajl.rb,
lib/yajl/version.rb

Constant Summary collapse

VERSION =
"0.3.4"

Class Method Summary collapse

Class Method Details

.create_log_directory(log_directory) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/yajl.rb', line 69

def self.create_log_directory(log_directory)

  log_directory ||= "~/logs"

  user = `whoami`.chomp
  hostname = `hostname`.chomp

  `mkdir -p #{log_directory}`
  project_name = project.split("/")[-1]

  File.expand_path("#{log_directory}/#{user}@#{hostname}.#{project_name}.log")

end

.create_logger(log_directory = nil) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/yajl.rb', line 44

def self.create_logger(log_directory=nil)

  unless log_directory == STDOUT || log_directory == false
    filename = Yajl.create_log_directory log_directory
    logger = YajlLogger.new(filename)
  else
    logger = YajlLogger.new(STDOUT)
  end

  logger.level = Logger::INFO
  logger.formatter = proc do |severity, datetime, progname, message|
    id = SecureRandom.hex(16)
    message = {text: message} if message.is_a? String
    line = { id: id,
             severity: severity,
             datetime: datetime.utc,
             progname: progname,
             message: message }
    JSON.generate(line) + "\n"
  end

  return logger

end