🙆‍♀️

[Feature #21133] logger でファイルを作成した際に行頭の情報をオミットできるようにする機能提案

に公開

[Feature #21133] [ruby/logger] Add an option to disable writing the header when creating a new log file

  • logger でファイルを作成した場合に次のようにファイルの行頭に # Logfile created on 2025-09-23 04:37:24 +0900 by logger.rb/v1.7.0 のようなコメントが付く
# test.rb
require "logger"

logger = Logger.new('logfile.log')

logger.fatal('Fatal error!')
logger.fatal('Fatal error!')
logger.fatal('Fatal error!')
$ ruby test.rb
$ cat ./logfile.log
# Logfile created on 2025-09-23 04:37:24 +0900 by logger.rb/v1.7.0
F, [2025-09-23T04:37:24.878262 #1101063] FATAL -- : Fatal error!
F, [2025-09-23T04:37:24.878488 #1101063] FATAL -- : Fatal error!
F, [2025-09-23T04:37:24.878502 #1101063] FATAL -- : Fatal error!
  • この行頭の出力の有無を制御できるようにする提案
  • これは次のように skip_header: キーワード引数で制御できるようになった
# test.rb
require "logger"

# skip_header: true だと行頭のコメントが出力されない
logger = Logger.new('logfile.log', skip_header: true)

logger.fatal('Fatal error!')
logger.fatal('Fatal error!')
logger.fatal('Fatal error!')
$ ruby test.rb
$ cat ./logfile.log
F, [2025-09-23T04:51:46.650909 #1104149] FATAL -- : Fatal error!
F, [2025-09-23T04:51:46.650974 #1104149] FATAL -- : Fatal error!
F, [2025-09-23T04:51:46.650982 #1104149] FATAL -- : Fatal error!
  • ちなみにこのコメントが付くのは logger がファイルをつくったときで既に存在するファイルに書き込む場合はつかない
    • これに気づかなくてハマった
GitHubで編集を提案

Discussion