Ost*_*tan 3 ruby logging ruby-2.0
我在我的应用程序中使用logger并将输出定向到这样的文件:
Logger.new("nemobuild.log")
Run Code Online (Sandbox Code Playgroud)
我的记录器在创建后附加到此日志文件.
我想要它做的是清除每个程序启动时的日志文件.
在示例中是有关创建新日志文件的说明:
file = File.open('foo.log', File::WRONLY | File::APPEND | File::CREAT)
Run Code Online (Sandbox Code Playgroud)
File::为了获得理想的行为,我必须使用哪些参数?
你用哪种宝石?你能提供MWE吗?
使用Logger.new("nemobuild.log")
我收到错误:
`<main>': uninitialized constant Logger (NameError)
Run Code Online (Sandbox Code Playgroud)
你使用标准记录仪吗?
然后,您可以使用文件对象而不是日志文件的文件名:
require 'logger'
log = Logger.new(File.new("nemobuild.log",'w'))
log.error('XX')
Run Code Online (Sandbox Code Playgroud)
如果要返回append-mode,可以将w-option(write)切换为a(append):
log = Logger.new(File.new("nemobuild.log",'a'))
Run Code Online (Sandbox Code Playgroud)
假设你可以/想要使用log4r:
您需要的功能是truncFileOutputter的一个选项:
require 'log4r'
log = Log4r::Logger.new('log')
log.outputters << Log4r::FileOutputter.new(
'log_file', :filename => 'mini_example.log',
:trunc => true, #Delete old log
)
Run Code Online (Sandbox Code Playgroud)