blob: 76bc8bdbe99f001164acab6e2c73937e396b2483 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<Configuration status="ERROR">
<Appenders>
<List name="List">
<PatternLayout>
<MarkerPatternSelector defaultPattern="[%-5level] %c{1.} %msg%n">
<PatternMatch key="FLOW" pattern="[%-5level] %c{1.} ====== %C{1.}.%M:%L %msg ======%n"/>
</MarkerPatternSelector>
</PatternLayout>
</List>
<List name="List2">
<PatternLayout>
<ScriptPatternSelector defaultPattern="[%-5level] %c{1.} %C{1.}.%M.%L %msg%n">
<Script name="BeanShellSelector" language="bsh"><![CDATA[
if (logEvent.getLoggerName().equals("NoLocation")) {
return "NoLocation";
} else if (logEvent.getMarker() != null && logEvent.getMarker().isInstanceOf("FLOW")) {
return "Flow";
} else {
return null;
}]]>
</Script>
<PatternMatch key="NoLocation" pattern="[%-5level] %c{1.} %msg%n"/>
<PatternMatch key="Flow" pattern="[%-5level] %c{1.} ====== %C{1.}.%M:%L %msg ======%n"/>
</ScriptPatternSelector>
</PatternLayout>
</List>
<List name="List3">
<PatternLayout>
<ScriptPatternSelector defaultPattern="[%-5level] %c{1.} %C{1.}.%M.%L %msg%n">
<Script name="JavaScriptSelector" language="JavaScript"><![CDATA[
var result;
if (logEvent.getLoggerName().equals("JavascriptNoLocation")) {
result = "NoLocation";
} else if (logEvent.getMarker() != null && logEvent.getMarker().isInstanceOf("FLOW")) {
result = "Flow";
}
result;
]]>
</Script>
<PatternMatch key="NoLocation" pattern="[%-5level] %c{1.} %msg%n"/>
<PatternMatch key="Flow" pattern="[%-5level] %c{1.} ====== %C{1.}.%M:%L %msg ======%n"/>
</ScriptPatternSelector>
</PatternLayout>
</List>
</Appenders>
<Loggers>
<Logger name="TestJavaScriptPatternSelector" level="trace" additivity="false">
<AppenderRef ref="List3"/>
</Logger>
<Logger name="JavascriptNoLocation" level="trace" additivity="false">
<AppenderRef ref="List3"/>
</Logger>
<Logger name="TestScriptPatternSelector" level="trace" additivity="false">
<AppenderRef ref="List2"/>
</Logger>
<Logger name="NoLocation" level="trace" additivity="false">
<AppenderRef ref="List2"/>
</Logger>
<Root level="trace">
<AppenderRef ref="List" />
</Root>
</Loggers>
</Configuration>