Skip to content

Commit

Permalink
Strict type logger formats
Browse files Browse the repository at this point in the history
  • Loading branch information
markhallen committed Feb 4, 2025
1 parent 481fb1c commit 3a72c73
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions updater/lib/dependabot/logger/formats.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# typed: true
# typed: strict
# frozen_string_literal: true

require "logger"
Expand All @@ -10,19 +10,25 @@ module Logger
TIME_FORMAT = "%Y/%m/%d %H:%M:%S"

class BasicFormatter < ::Logger::Formatter
extend T::Sig

sig { params(severity: String, _datetime: Time, _progname: String, msg: T.nilable(String)).returns(String) }
def call(severity, _datetime, _progname, msg)
"#{Time.now.strftime(TIME_FORMAT)} #{severity} #{msg2str(msg)}\n"
end
end

class JobFormatter < ::Logger::Formatter
extend T::Sig
CLI_ID = "cli"
UNKNOWN_ID = "unknown_id"

sig { params(job_id: T.nilable(String)).void }
def initialize(job_id)
@job_id = job_id
end

sig { params(severity: String, _datetime: Time, _progname: String, msg: T.nilable(String)).returns(String) }
def call(severity, _datetime, _progname, msg)
[
Time.now.strftime(TIME_FORMAT),
Expand All @@ -34,15 +40,13 @@ def call(severity, _datetime, _progname, msg)

private

sig { returns(T.nilable(String)) }
def job_prefix
return @job_prefix if defined? @job_prefix
# The dependabot/cli tool uses a placeholder value since it does not
# have an actual Job ID issued by the service.
#
# Let's just omit the prefix if this is the case.
return @job_prefix = nil if @job_id == CLI_ID

@job_prefix = "<job_#{@job_id || UNKNOWN_ID}>"
@job_prefix ||= T.let(begin
return nil if @job_id == CLI_ID

"<job_#{@job_id || UNKNOWN_ID}>"
end, T.nilable(String))
end
end
end
Expand Down

0 comments on commit 3a72c73

Please sign in to comment.