[
https://issues.apache.org/jira/browse/LOG4J2-1686?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Ross updated LOG4J2-1686:
--------------------------------
Comment: was deleted
(was: The documentation for {{ScriptAppenderSelector}} is still wrong on the
website. It leaves a LOT to be desired. Even the corrected documentation in
these comments doesn't seem to work right. The relationship between the return
value from the script and the {{Appender}} in the {{AppenderSet}} is confusing
and almost totally undocumented. For example, I have this:
{code:xml}
<ScriptAppenderSelector name="ArchDependentAppender">
<Script language="JavaScript">
<![CDATA[
try{
load("nashorn:mozilla_compat.js");
} catch(e) {}
importPackage(java.lang);
System.getProperty("os.name").search("Windows") > -1 ?
"WindowsAppender" : "UnixAppender";
]]>
</Script>
<AppenderSet>
<FileAppender name="WindowsAppender">
<PatternLayout>
<Pattern>${appenderPatternLayout}</Pattern>
</PatternLayout>
</FileAppender>
<SyslogAppender name="UnixAppender"
advertise="true"
facility="LOCAL1"
format="RFC5424"
host="localhost"
port="514"
protocol="TCP"
newLine="true" />
</AppenderSet>
</ScriptAppenderSelector>
{code}
Which, from what I can tell, *should* work because the names of the
{{Appender}} in the {{AppenderSet}} match the return value from the script.
However, looking at log4j2 debug output, this does not appear to be working:
{noformat}
ERROR StatusLogger AppenderSet contains invalid attributes "FileAppender",
"SyslogAppender"
ERROR StatusLogger No node named WindowsAppender in
org.apache.logging.log4j.core.appender.AppenderSet@2d52216b{noformat}
So... how is this supposed to work? A proper (and full) example that actually
works would be kinda useful.
My hunch is that there's a disconnect related to the "strict" versus "loose"
versions of the schema which, for all its good intentions, is just adding
unnecessary complexity to learning log4j2 and example sharing.)
> Add support for properties selectors
> ------------------------------------
>
> Key: LOG4J2-1686
> URL: https://issues.apache.org/jira/browse/LOG4J2-1686
> Project: Log4j 2
> Issue Type: New Feature
> Components: Configurators
> Affects Versions: 2.7
> Reporter: Raman Gupta
> Assignee: Ralph Goers
> Priority: Major
>
> It would be great to support conditional configuration like logback:
> http://logback.qos.ch/manual/configuration.html#conditional
> This allows for more advanced configuration than is currently possible with
> property substitution.
> Example use case: to implement
> https://issues.apache.org/jira/browse/LOG4J2-1685 without log4j library
> support.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)