Mercurial > hg > nginx-site
changeset 1449:c79501e16e26
Documented cyclic memory buffer support for error_log.
author | Yaroslav Zhuravlev <yar@nginx.com> |
---|---|
date | Wed, 08 Apr 2015 13:56:52 +0300 |
parents | d3390895fe6e |
children | f5b5eefc43cb |
files | xml/en/docs/debugging_log.xml xml/en/docs/ngx_core_module.xml xml/ru/docs/debugging_log.xml xml/ru/docs/ngx_core_module.xml |
diffstat | 4 files changed, 69 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/xml/en/docs/debugging_log.xml +++ b/xml/en/docs/debugging_log.xml @@ -8,7 +8,7 @@ <article name="A debugging log" link="/en/docs/debugging_log.html" lang="en" - rev="2"> + rev="3"> <section> @@ -82,4 +82,30 @@ events { </section> + +<section id="memory" name="Logging to a cyclic memory buffer"> + +<para> +The debugging log can be written to a cyclic memory buffer: +<programlisting> +error_log memory:32m debug; +</programlisting> +Logging to the memory buffer on the <literal>debug</literal> level +does not have significant impact on performance even under high load. +In this case, the log can be extracted using +a <command>gdb</command> script like the following one: +<example> +set $log = ngx_cycle->new_log + +while $log.writer != ngx_log_memory_writer + set $log = $log.next +end + +set $buf = (ngx_buf_t *) $log.wdata +dump binary memory log.txt $buf->start $buf->end +</example> +</para> + +</section> + </article>
--- a/xml/en/docs/ngx_core_module.xml +++ b/xml/en/docs/ngx_core_module.xml @@ -10,7 +10,7 @@ <module name="Core functionality" link="/en/docs/ngx_core_module.html" lang="en" - rev="11"> + rev="12"> <section id="example" name="Example Configuration"> @@ -145,7 +145,8 @@ analysis using a system debugger. <directive name="error_log"> <syntax> <value>file</value> | <literal>stderr</literal> | -<literal>syslog:</literal><literal>server</literal>=<value>address</value>[,<value>parameter</value>=<value>value</value>] +<literal>syslog:</literal><literal>server</literal>=<value>address</value>[,<value>parameter</value>=<value>value</value>] | +<literal>memory:</literal><value>size</value> [<literal>debug</literal> | <literal>info</literal> | <literal>notice</literal> | @@ -173,6 +174,10 @@ If filename is not absolute, it is prefi The special value <literal>stderr</literal> selects the standard error file. Logging to <link doc="syslog.xml">syslog</link> can be configured by specifying the “<literal>syslog:</literal>” prefix. +Logging to a +<link doc="debugging_log.xml" id="memory">cyclic memory buffer</link> +can be configured by specifying the “<literal>memory:</literal>” prefix and +buffer <value>size</value>, and is generally used for debugging (1.7.11). </para> <para>
--- a/xml/ru/docs/debugging_log.xml +++ b/xml/ru/docs/debugging_log.xml @@ -8,7 +8,7 @@ <article name="Отладочный лог" link="/ru/docs/debugging_log.html" lang="ru" - rev="2"> + rev="3"> <section> @@ -80,4 +80,31 @@ events { </section> + +<section id="memory" name="Запись в кольцевой буфер в памяти"> + +<para> +Отладочный лог можно записывать в кольцевой буфер в памяти: +<programlisting> +error_log memory:32m debug; +</programlisting> +Запись в буфер в памяти на уровне <literal>debug</literal> +не оказывает существенного влияния на производительность +даже при высоких нагрузках. +В этом случае лог может быть извлечён при помощи +<command>gdb</command>-скрипта, подобного следующему: +<example> +set $log = ngx_cycle->new_log + +while $log.writer != ngx_log_memory_writer + set $log = $log.next +end + +set $buf = (ngx_buf_t *) $log.wdata +dump binary memory log.txt $buf->start $buf->end +</example> +</para> + +</section> + </article>
--- a/xml/ru/docs/ngx_core_module.xml +++ b/xml/ru/docs/ngx_core_module.xml @@ -10,7 +10,7 @@ <module name="Основная функциональность" link="/ru/docs/ngx_core_module.html" lang="ru" - rev="11"> + rev="12"> <section id="example" name="Пример конфигурации"> @@ -145,7 +145,8 @@ events { <directive name="error_log"> <syntax> <value>файл</value> | <literal>stderr</literal> | -<literal>syslog:</literal><literal>server</literal>=<value>адрес</value>[,<value>параметр</value>=<value>значение</value>] +<literal>syslog:</literal><literal>server</literal>=<value>адрес</value>[,<value>параметр</value>=<value>значение</value>] | +<literal>memory:</literal><value>размер</value> [<literal>debug</literal> | <literal>info</literal> | <literal>notice</literal> | @@ -173,6 +174,10 @@ events { Специальное значение <literal>stderr</literal> выбирает стандартный файл ошибок. Запись в <link doc="syslog.xml">syslog</link> настраивается указанием префикса “<literal>syslog:</literal>”. +Запись в +<link doc="debugging_log.xml" id="memory">кольцевой буфер в памяти</link> +настраивается указанием префикса “<literal>memory:</literal>” и +<value>размера</value> буфера и как правило используется для отладки (1.7.11). </para> <para>