<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Thanks Siri, 21.3 is an option so I’ll take a look as suggested.<div class=""><br class=""></div><div class="">Cheers,</div><div class=""><br class=""></div><div class="">Steve<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 19 Mar 2019, at 12:58, Siri Hansen <<a href="mailto:erlangsiri@gmail.com" class="">erlangsiri@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi Steve,<div class=""><br class=""></div><div class="">I'm sorry to say that there is a bit left to do in the logger_disk_log_h handler. The error message you see actually comes from disk_log, and the handler is not implemented to take care of that. Also, for simplicity (due to lack of time) we decided to keep the max_no_bytes and max_no_files read-only in this handler, which means that you can not changes these options during run-time either :(</div><div class=""><br class=""></div><div class="">It seems you are running OTP 21.3, so if it's an option for you, you may try the new rotation mechanism which is added to the logger_std_h handler in that release. It has a rotation scheme that does not rely on any .idx or .siz files. The log current log is always the one with the configured name, and the rotated archives have .0, .1, ... extensions. And with this handler you may change the max_no_files and max_no_bytes as you wish during run-time or when re-opening an existing log file.</div><div class=""><br class=""></div><div class="">Kind Regards</div><div class="">/siri</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Den tir. 19. mar. 2019 kl. 11:56 skrev Steve Strong <<a href="mailto:steve@srstrong.com" class="">steve@srstrong.com</a>>:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;" class="">Hi All,<div class=""><br class=""></div><div class="">Quick question regarding the handling of configuration changes for the disk_log hander in the new Logger framework, and specifically how it handles max_no_bytes.</div><div class=""><br class=""></div><div class="">Given a clean directory, I can do the following:</div><div class=""><br class=""></div><div class=""><div class=""><font face="Courier New" class="">> erl</font></div><div class=""><font face="Courier New" class="">Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]</font></div><div class=""><font face="Courier New" class=""><br class=""></font></div><div class=""><font face="Courier New" class="">Eshell V10.3  (abort with ^G)</font></div><div class=""><font face="Courier New" class="">1> logger:add_handler(disk_log, logger_disk_log_h, #{config => #{file => "log/debug.log", type => wrap, max_no_files => 10, max_no_bytes => 10000}, level => all}).</font></div><div class=""><font face="Courier New" class="">ok</font></div><div class=""><font face="Courier New" class="">2>q().</font></div></div><div class=""><br class=""></div><div class="">That creates me a log folder with a debug.log.1, debug.log.idx and debug.log.siz.  If I then start a new shell and try to create the handler but with a different max_no_bytes, I get the following:</div><div class=""><br class=""></div><div class=""><div class=""><font face="Courier New" class="">> erl</font></div><div class=""><font face="Courier New" class="">Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]</font></div><div class=""><font face="Courier New" class=""><br class=""></font></div><div class=""><font face="Courier New" class="">Eshell V10.3  (abort with ^G)</font></div><div class=""><font face="Courier New" class="">1> logger:add_handler(disk_log, logger_disk_log_h, #{config => #{file => "log/debug.log", type => wrap, max_no_files => 10, max_no_bytes => 15000}, level => all}).</font></div><div class=""><font face="Courier New" class="">{error,{handler_not_added,{size_mismatch,{10000,10},</font></div><div class=""><font face="Courier New" class="">                                         {15000,10}}}}</font></div><div class=""><font face="Courier New" class="">2> q().</font></div></div><div class=""><br class=""></div><div class="">Due to the change in the max_no_bytes parameter, the handler fails to start.  What is the recommended way to deal with adjusting config value such as this, particularly for handlers that may be added / removed dynamically?  Right now, we are needing to archive the entire log directory prior to changing values, which is a real pain.  </div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Cheers,</div><div class=""><br class=""></div><div class="">Steve</div></div>_______________________________________________<br class="">
erlang-questions mailing list<br class="">
<a href="mailto:erlang-questions@erlang.org" target="_blank" class="">erlang-questions@erlang.org</a><br class="">
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank" class="">http://erlang.org/mailman/listinfo/erlang-questions</a><br class="">
</blockquote></div>
</div></blockquote></div><br class=""></div></body></html>