[erlang-questions] high-volume logging via a gen_server

Chandru chandrashekhar.mullaparthi@REDACTED
Mon Oct 4 14:31:53 CEST 2010


On 4 October 2010 12:57, Dan Kelley <djk121@REDACTED> wrote:

> So, what are good strategies to cope with a large incoming volume of
> messages that all need to wind up in the same logfile?  Is there a more
> efficient way to write to disk than the simple io:format() call than I'm
> using above?  What's a good way to parallelize the logging over multiple
> processes but keep all of the information in one file?
>
>
What we do is to have one public ETS table per log file. All log entries are
written directly to the ETS table by the calling process. Every few seconds,
a dedicated logging process scans the ETS table, accumulates them, and dumps
them to disk in one write operation. This works very well.

cheers
Chandru


More information about the erlang-questions mailing list