Mix the formatting of ConsoleLogger with FileLogger
HumpyBlumpy opened this issue · comments
Hello,
I want to output ConsoleLogger to a file. Is it possible?
From the documentation, I first tried using FileLogger. This worked, but outputted too much information (a whole line with the source code location). So next I tried the example from the documentation :
logger = FormatLogger(open("logfile.txt", "w")) do io, args
println(io, args._module, " | ", "[", args.level, "] ", args.message)
end;
This was better, but not as nice as ConsoleLogger (and was missing some information in some cases).
So basically, I think ConsoleLogger is perfect and I just want to output the same information with the same formatting to a file.
You can pass an open file handle to the ConsoleLogger
.
How do I make use of LoggingExtras in such a case?
The main thing I want out of it is the automatic flushing. I want the log to be continuously updated, not only at the end of the execution of the file.
This is not currently possible.
I guess we could make a forced flushing wrapper logger.
I kind a feel like that should be handled at the stream level though.
Or the OS level?
It would be nice to have FormatLogger (and SimpleLogger) formatting available in https://github.com/JuliaLogging/LoggingFormats.jl