error_logger and sasl

Serge Aleynikov <>
Mon Jun 6 23:47:56 CEST 2005


Vance,

I see that there's some overlap in functionality of how the emulator can 
be started in production.  Two ways are mentioned in the docs:

1. erl -detached -heart ...
2. run_erl -daemon ...

Where run_erl manages log files, and lets to_erl program connect to the 
console.

I believe the second feature is superseded by ^G command in the erl 
shell, where it is possible to connect a shell to a remote node (or is 
to_erl still preferable because it can really get access to the same 
console that started the node?).

I was a bit hesitant to use run_erl because I wasn't sure if it could be 
reliably combined with the -heart option of starting the emulator. 
Would it be safe to do something like this in production:

HEART_COMMAND= \
   run_erl -daemon pipe_dir/ log_dir "erl -heart [command_arguments]"

 > run_erl -daemon pipe_dir/ log_dir "erl -heart [command_arguments]"

In this case does the "erl" need to have any of the following: -detached 
-noshell?

Upon examining a few projects (eddie, yaws, etc.) I saw that production 
systems are started using the "erl -detached ..." as opposed to run_erl 
method.  Is it because it's more portable (i.e. run_erl is Linux/Solaris 
specific)?

I'd appreciate it if you could comment on some of the questions I raised 
above.

Regards,

Serge

Vance Shipley wrote:
> Serge,
> 
> In a production environment you should be running an embedded 
> system where run_erl is used to start the emulator.  In this
> scenario the error_logger writes to tty and the run_erl program 
> handles logging to disk.  It does not truncate and uses rotating
> log files.
> 
> 	-Vance




More information about the erlang-questions mailing list