| # |
| # 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: INFO |
| monitorInterval: 30 |
| name: pulsar |
| packages: io.prometheus.client.log4j2 |
| |
| Properties: |
| Property: |
| - name: "pulsar.log.dir" |
| value: "logs" |
| - name: "pulsar.log.file" |
| value: "pulsar.log" |
| - name: "pulsar.log.appender" |
| value: "RoutingAppender" |
| - name: "pulsar.log.root.level" |
| value: "debug" |
| - name: "pulsar.log.level" |
| value: "info" |
| - name: "pulsar.routing.appender.default" |
| value: "Console" |
| |
| # Example: logger-filter script |
| # Scripts: |
| # ScriptFile: |
| # name: filter.js |
| # language: JavaScript |
| # path: ./conf/log4j2-scripts/filter.js |
| # charset: UTF-8 |
| |
| Appenders: |
| |
| # Console |
| Console: |
| name: Console |
| target: SYSTEM_OUT |
| PatternLayout: |
| Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" |
| |
| # Rolling file appender configuration |
| RollingFile: |
| name: RollingFile |
| fileName: "${sys:pulsar.log.dir}/${sys:pulsar.log.file}" |
| filePattern: "${sys:pulsar.log.dir}/${sys:pulsar.log.file}-%d{MM-dd-yyyy}-%i.log.gz" |
| immediateFlush: false |
| PatternLayout: |
| Pattern: "%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" |
| Policies: |
| TimeBasedTriggeringPolicy: |
| interval: 1 |
| modulate: true |
| SizeBasedTriggeringPolicy: |
| size: 1 GB |
| # Delete file older than 30days |
| DefaultRolloverStrategy: |
| Delete: |
| basePath: ${sys:pulsar.log.dir} |
| maxDepth: 2 |
| IfFileName: |
| glob: "*/${sys:pulsar.log.file}*log.gz" |
| IfLastModified: |
| age: 30d |
| |
| Prometheus: |
| name: Prometheus |
| |
| # Routing |
| Routing: |
| name: RoutingAppender |
| Routes: |
| pattern: "$${ctx:function}" |
| Route: |
| - |
| Routing: |
| name: InstanceRoutingAppender |
| Routes: |
| pattern: "$${ctx:instance}" |
| Route: |
| - |
| RollingFile: |
| name: "Rolling-${ctx:function}" |
| fileName : "${sys:pulsar.log.dir}/functions/${ctx:function}/${ctx:functionname}-${ctx:instance}.log" |
| filePattern : "${sys:pulsar.log.dir}/functions/${sys:pulsar.log.file}-${ctx:instance}-%d{MM-dd-yyyy}-%i.log.gz" |
| PatternLayout: |
| Pattern: "%d{ABSOLUTE} %level{length=5} [%thread] [instance: %X{instance}] %logger{1} - %msg%n" |
| Policies: |
| TimeBasedTriggeringPolicy: |
| interval: 1 |
| modulate: true |
| SizeBasedTriggeringPolicy: |
| size: "20MB" |
| # Trigger every day at midnight that also scan |
| # roll-over strategy that deletes older file |
| CronTriggeringPolicy: |
| schedule: "0 0 0 * * ?" |
| # Delete file older than 30days |
| DefaultRolloverStrategy: |
| Delete: |
| basePath: ${sys:pulsar.log.dir} |
| maxDepth: 2 |
| IfFileName: |
| glob: "*/${sys:pulsar.log.file}*log.gz" |
| IfLastModified: |
| age: 30d |
| - ref: "${sys:pulsar.routing.appender.default}" |
| key: "${ctx:function}" |
| - ref: "${sys:pulsar.routing.appender.default}" |
| key: "${ctx:function}" |
| |
| Loggers: |
| |
| # Default root logger configuration |
| Root: |
| level: "${sys:pulsar.log.root.level}" |
| additivity: true |
| AppenderRef: |
| - ref: "${sys:pulsar.log.appender}" |
| level: "${sys:pulsar.log.level}" |
| - ref: Prometheus |
| level: info |
| |
| Logger: |
| - name: org.apache.bookkeeper.bookie.BookieShell |
| level: info |
| additivity: false |
| AppenderRef: |
| - ref: Console |
| |
| - name: verbose |
| level: info |
| additivity: false |
| AppenderRef: |
| - ref: Console |
| |
| # Logger to inject filter script |
| # - name: org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl |
| # level: debug |
| # additivity: false |
| # AppenderRef: |
| # ref: "${sys:pulsar.log.appender}" |
| # ScriptFilter: |
| # onMatch: ACCEPT |
| # onMisMatch: DENY |
| # ScriptRef: |
| # ref: filter.js |