22 lines
		
	
	
		
			406 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			406 B
		
	
	
	
		
			Ruby
		
	
	
	
module Gitlab
 | 
						|
  module SidekiqLogging
 | 
						|
    class JSONFormatter
 | 
						|
      def call(severity, timestamp, progname, data)
 | 
						|
        output = {
 | 
						|
          severity: severity,
 | 
						|
          time: timestamp.utc.iso8601(3)
 | 
						|
        }
 | 
						|
 | 
						|
        case data
 | 
						|
        when String
 | 
						|
          output[:message] = data
 | 
						|
        when Hash
 | 
						|
          output.merge!(data)
 | 
						|
        end
 | 
						|
 | 
						|
        output.to_json + "\n"
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |