| # |
| # 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: |
| Appenders: |
| Console: |
| name: "STDOUT" |
| PatternLayout: |
| ScriptPatternSelector: |
| defaultPattern: "%d %p %m%n" |
| ScriptRef: |
| ref: "SELECTOR_SCRIPT" |
| PatternMatch: |
| - key: "NoLocation" |
| pattern: "[%-5level] %c{1.} %msg%n" |
| - key: "Flow" |
| pattern: "[%-5level] %c{1.} ====== %C{1.}.%M:%L %msg ======%n" |
| Loggers: |
| Logger: |
| name: "EventLogger" |
| ScriptFilter: |
| onMatch: "ACCEPT" |
| onMismatch: "DENY" |
| Script: |
| name: "EVENT_LOGGER_FILTER" |
| language: "groovy" |
| scriptText: | |
| if (logEvent.getMarker() != null && logEvent.getMarker().isInstanceOf("FLOW")) { |
| return true; |
| } else if (logEvent.getContextMap().containsKey("UserId")) { |
| return true; |
| } |
| return false; |
| Root: |
| level: "INFO" |
| ScriptFilter: |
| onMatch: "ACCEPT" |
| onMismatch: "DENY" |
| ScriptRef: |
| ref: "ROOT_FILTER" |
| AppenderRef: |
| ref: "STDOUT" |
| Scripts: |
| Script: |
| name: "SELECTOR_SCRIPT" |
| language: "javascript" |
| scriptText: | |
| var result; |
| if (logEvent.getLoggerName().equals("JavascriptNoLocation")) { |
| result = "NoLocation"; |
| } else if (logEvent.getMarker() != null && logEvent.getMarker().isInstanceOf("FLOW")) { |
| result = "Flow"; |
| } |
| result; |
| ScriptFile: |
| name: "ROOT_FILTER" |
| path: "scripts/filter.groovy" |