Class: QTimetrap::Services::TimetrapGatewayLogger

Inherits:
Object
  • Object
show all
Defined in:
app/services/timetrap_gateway_logger.rb

Overview

Writes Timetrap gateway input/output events to local log file.

Constant Summary collapse

DEFAULT_LOG_PATH =
File.join(Dir.home, '.local', 'log', 'qtimetrap', 'timetrap_gateway.log')

Instance Method Summary collapse

Constructor Details

#initialize(path: DEFAULT_LOG_PATH) ⇒ TimetrapGatewayLogger

Returns a new instance of TimetrapGatewayLogger.



13
14
15
# File 'app/services/timetrap_gateway_logger.rb', line 13

def initialize(path: DEFAULT_LOG_PATH)
  @path = path
end

Instance Method Details

#log_api(operation:, input:, output:, success: true) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'app/services/timetrap_gateway_logger.rb', line 27

def log_api(operation:, input:, output:, success: true)
  write(
    kind: 'api',
    operation: operation.to_s,
    input: input,
    success: success ? true : false,
    output: output
  )
end

#log_cli(bin:, args:, success:, output:) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'app/services/timetrap_gateway_logger.rb', line 17

def log_cli(bin:, args:, success:, output:)
  write(
    kind: 'cli',
    bin: bin.to_s,
    input: Array(args).map(&:to_s),
    success: success ? true : false,
    output: output.to_s
  )
end