logger.c: Move LOG_GROUP documentation to dedicated XML file.

The `get_documentation` awk script will only extract the first
DOCUMENTATION block that it finds in a given file. This is by design
(9bc2127) to prevent AMI event documentation from being pulled in to
the core.xml documentation file.

Because of this, the `LOG_GROUP` documentation added in 89709e2 was
not being properly extracted and was missing fom the resulting XML
documentation file. This commit moves the `LOG_GROUP` documentation to
a separate `logger.xml` file.

(cherry picked from commit 0b6e3bc59b)
This commit is contained in:
Sean Bright 2023-12-01 12:03:29 -05:00 committed by Asterisk Development Team
parent 37a89d3cee
commit 2c6385a1b3
2 changed files with 37 additions and 35 deletions

View File

@ -1776,41 +1776,6 @@ static int callid_logging_enabled(void)
return cgl ? 1 : 0; /* If found, enabled, otherwise not */
}
/*** DOCUMENTATION
<function name="LOG_GROUP" language="en_US">
<synopsis>
Set the channel group name for log filtering on this channel
</synopsis>
<syntax>
<parameter name="group" required="false">
<para>Channel log group name. Leave empty to remove any existing group membership.</para>
<para>You can use any arbitrary alphanumeric name that can then be used by the
"logger filter changroup" CLI command to filter dialplan output by group name.</para>
</parameter>
</syntax>
<description>
<para>Assign a channel to a group for log filtering.</para>
<para>Because this application can result in dialplan execution logs
being suppressed (or unsuppressed) from the CLI if filtering is active,
it is recommended to call this as soon as possible when dialplan execution begins.</para>
<para>Calling this multiple times will replace any previous group assignment.</para>
<example title="Associate channel with group test">
exten => s,1,Set(LOG_GROUP()=test)
same => n,NoOp() ; if a logging call ID group filter name is enabled but test is not included, you will not see this
</example>
<example title="Associate channel with group important">
exten => s,1,Set(LOG_GROUP()=important)
same => n,Set(foo=bar) ; do some important things to show on the CLI (assuming it is filtered with important enabled)
same => n,Set(LOG_GROUP()=) ; remove from group important to stop showing execution on the CLI
same => n,Wait(5) ; do some unimportant stuff
</example>
</description>
<see-also>
<ref type="application">Log</ref>
</see-also>
</function>
***/
static int log_group_write(struct ast_channel *chan, const char *cmd, char *data, const char *value)
{
int res = callid_set_chanloggroup(value);

37
main/logger.xml Normal file
View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE docs SYSTEM "appdocsxml.dtd">
<?xml-stylesheet type="text/xsl" href="appdocsxml.xslt"?>
<docs xmlns:xi="http://www.w3.org/2001/XInclude">
<function name="LOG_GROUP" language="en_US">
<synopsis>
Set the channel group name for log filtering on this channel
</synopsis>
<syntax>
<parameter name="group" required="false">
<para>Channel log group name. Leave empty to remove any existing group membership.</para>
<para>You can use any arbitrary alphanumeric name that can then be used by the
"logger filter changroup" CLI command to filter dialplan output by group name.</para>
</parameter>
</syntax>
<description>
<para>Assign a channel to a group for log filtering.</para>
<para>Because this application can result in dialplan execution logs
being suppressed (or unsuppressed) from the CLI if filtering is active,
it is recommended to call this as soon as possible when dialplan execution begins.</para>
<para>Calling this multiple times will replace any previous group assignment.</para>
<example title="Associate channel with group test">
exten => s,1,Set(LOG_GROUP()=test)
same => n,NoOp() ; if a logging call ID group filter name is enabled but test is not included, you will not see this
</example>
<example title="Associate channel with group important">
exten => s,1,Set(LOG_GROUP()=important)
same => n,Set(foo=bar) ; do some important things to show on the CLI (assuming it is filtered with important enabled)
same => n,Set(LOG_GROUP()=) ; remove from group important to stop showing execution on the CLI
same => n,Wait(5) ; do some unimportant stuff
</example>
</description>
<see-also>
<ref type="application">Log</ref>
</see-also>
</function>
</docs>