[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