Build Status

Extends and improves the Julia language's built in ConsoleLogger. 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
@everywhere global_logger(WorkerLogger(global_logger()))

This will setup an EnhancedLogger on the master process, and WorkerLoggers 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.