gpt4 book ai didi

ruby - Padrino 自定义日志文件

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:09 27 4
gpt4 key购买 nike

我需要在 Padrino 中创建一个自定义日志文件,其中包含标准输出中的所有日志记录信息以及自定义日志消息。我已经能够创建自定义日志文件,但仍然创建了标准输出文件(development.log、production.log 等),其中包含日志语句。我试过将这些行放在 boot.rb 文件中,但这些似乎都不起作用:

Padrino::Logger::Config[:development][:stream] = :to_file

Padrino::Logger::Config[:development] = { :log_level => :debug, :stream => :to_file }

Padrino::Logger::Config[:development][:stream] = :null

Padrino::Logger::Config[:development] = { :log_level => :debug, :stream => :null}

我看过帕德里诺的 development commandslogger documentation但他们没有帮助。

如果有帮助,这是生成自定义日志文件的代码。 (无论我是否运行此代码,stdout 文件都会不断创建):

log_path = File.join(custom_log_path, 'My Service')

FileUtils.mkdir_p log_path
log_file_path = File.join(log_path, "MyService_#{current_date_time_formatted}.log")
logger = File.open(log_file_path, "a+")

if defined?(PADRINO_ENV) && PADRINO_ENV == 'production'
$stdout.reopen(logger)
$stderr.reopen(logger)
end

非常感谢任何帮助!

最佳答案

你应该能够做到这一点:

Padrino::Logger::Config[:development][:stream] = logger
# or
Padrino::Logger::Config[:production][:stream] = logger

在你定义了logger之后。如果 config[:stream] 没有收到关键字,Padrino::Logger 将使用传递的任何内容作为输出流。

有关 Padrino 记录器的更多信息,请查看相关的 Padrino 核心代码,尤其是 self.setup!:https://github.com/padrino/padrino-framework/blob/master/padrino-core/lib/padrino-core/logger.rb .

关于ruby - Padrino 自定义日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17553078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com