如何为 gen_server 禁用故障转储
How to disable crash dump for the gen_server
有一个 gen_server 可以在其状态下保存一些敏感信息(密码等)
Lagger 已启用,
所以在崩溃的情况下 gen_server 的状态会转储到崩溃日志中,例如:
yyyy-mm-dd hh:mm:ss =ERROR REPORT====
** Generic server XXX terminating
** Last message in was ...
** When Server state == {state, ...}
** Reason for termination ==
因此,明智的信息被写入日志文件。
有什么方法可以防止 gen_server 的状态写入日志 files/crash 转储?
您可以将此添加到您的 app.config:
{lager, [{error_logger_redirect, false}]}
以防止 lager 重定向错误日志。您还应该尝试捕获错误(导致 gen_server 崩溃)并以某种优雅的方式处理它。我们可以保留密码,让它崩溃。
您可以实施 the optional format_status
callback function。这意味着每当 gen_server 崩溃时,您都有机会在记录状态数据之前根据自己的喜好格式化状态数据,例如通过删除敏感信息。
有一个 gen_server 可以在其状态下保存一些敏感信息(密码等)
Lagger 已启用,
所以在崩溃的情况下 gen_server 的状态会转储到崩溃日志中,例如:
yyyy-mm-dd hh:mm:ss =ERROR REPORT==== ** Generic server XXX terminating ** Last message in was ... ** When Server state == {state, ...} ** Reason for termination ==
因此,明智的信息被写入日志文件。
有什么方法可以防止 gen_server 的状态写入日志 files/crash 转储?
您可以将此添加到您的 app.config:
{lager, [{error_logger_redirect, false}]}
以防止 lager 重定向错误日志。您还应该尝试捕获错误(导致 gen_server 崩溃)并以某种优雅的方式处理它。我们可以保留密码,让它崩溃。
您可以实施 the optional format_status
callback function。这意味着每当 gen_server 崩溃时,您都有机会在记录状态数据之前根据自己的喜好格式化状态数据,例如通过删除敏感信息。