Extends and improves the Julia language's built in
Additionally adds a
WorkerLogger that passes log records to the main process
before processing them.
pkg> add EnhancedLogging
To setup enhanced logging on all running processes, put the following after all worker processes have been started:
@everywhere using Logging, EnhancedLogging global_logger(EnhancedConsoleLogger()) @everywhere global_logger(WorkerLogger(global_logger()))
This will setup an
EnhancedLogger on the master process, and
on the workers.
Currently, the worker logging only works with global loggers, i.e. using
with_logger will prevent the log message from being forwarded to the master
process. This is mostly due to a limitation in how pointers are serialized for
interprocess communication. If you have ideas about how to circumvent this
problem, please open an issue so that we can discuss.