一旦脚本被调试, 日志将无法再写入文件 。 因此, 如何以及何时才能初始化日志?
require rubygems
require daemons
require logging
def create_new_logger
logger = Logging.logger[ trend-analyzer ]
logger.add_appenders(
Logging.appenders.rolling_file( ./logs/trend-analyzer.log ),
Logging.appenders.stdout
)
logger.level = :debug
return logger
end
logger = create_new_logger
#this log message gets written to the log file
logger.debug Time.new
Daemons.run_proc( ForestPress , :log_dir => .logs , :backtrace => true) do
running_as_daemon = true
#this log message does NOT get written to the log file
logger.debug Time.new
loop do
#this log message does NOT get written to the log file
logger.info Time.new
sleep 5
end
end
<强 > EDIT 强 >
我注意到当前路径从我执行脚本的地方到 /
的路径变化。 这可能就是为什么我无法对信件进行日志吗?
<强 > EDIT 2 强 >
现在我先保存原始路径,然后再成为守护进程,然后使用 Dir.chdir
来设置原始路径的路径。 然后我可以直接打开文件并写入它。 然而,日志宝石仍然无法写入它 。