| <!-- |
| 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. |
| --> |
| |
| <logkit logger="system.logkit" log-level="INFO" |
| manager-class="org.apache.avalon.excalibur.logger.LogKitLoggerManager"> |
| <!-- |
| The manager-class is what determines the underlying log implementation |
| In this case, it is Avalon LogKit. |
| Not sure what logger and log-level are for. |
| --> |
| |
| <factories> |
| <factory type="file" |
| class="org.apache.avalon.excalibur.logger.factory.FileTargetFactory"/> |
| </factories> |
| |
| <targets> |
| <!-- Sample entry showing custom format --> |
| <file id="logFile" > |
| <append>false</append> |
| <filename>format.log</filename> |
| <format type="pattern"> |
| AT: %{time:yyyy/MM/dd HH:mm:ss} PRI: %5.5{priority} CAT: %{category} TEXT: %{message} EX: %{throwable}\n |
| </format> |
| </file> |
| |
| <!-- Sample entry showing unique names. SSS = milliseconds --> |
| <file id="logUnique" > |
| <append>false</append> |
| <filename>prefix</filename> |
| <rotation type="unique" pattern="yyyy-MM-dd-hh-mm-ss-SSS" suffix=".log"> |
| <size>1000000</size> |
| </rotation> |
| <!-- can also add a format here --> |
| </file> |
| |
| <!-- |
| Sample entry showing how to rotate files, i.e. my_log.000001 etc |
| --> |
| <file id="logRevolve" > |
| <append>false</append> |
| <filename>my_log</filename> |
| <rotation type="revolving" init="1" max="10"> |
| <size>1000000</size> |
| </rotation> |
| <!-- can also add a format here --> |
| </file> |
| |
| |
| |
| </targets> |
| |
| <categories> |
| <!-- |
| Notes: |
| * must define the default category, i.e. where name = "" |
| * each log-target id-ref must refer to a valid file entry |
| --> |
| <category name="" log-level="INFO"> |
| <log-target id-ref="logFile"/> |
| </category> |
| |
| <!-- |
| Further categories can be defined if required; they can have |
| the same or different targets, but the targets must exist |
| --> |
| <category name="jorphan" log-level="WARN"> |
| <log-target id-ref="logRevolver"/> |
| </category> |
| |
| </categories> |
| </logkit> |
| <!-- |
| Documentation extracted from FileTargetFactory class. |
| This factory is able to create different FileLogTargets according to the |
| following configuration syntax: |
| <file id="foo"> |
| <filename>${context-key}/real-name/...</filename> |
| <format type="avalon|raw|pattern|extended">pattern to be used if needed</format> |
| <append>true|false</append> |
| <rotation type="revolving" init="5" max="10"> |
| |
| or |
| |
| <rotation type="unique" pattern="yyyy-MM-dd-hh-mm-ss" suffix=".log"> |
| <or> |
| <size>10000000</size> |
| <time>24:00:00</time> |
| <time>12:00:00</time> |
| </or> |
| </rotation> |
| </file> |
| |
| Some explanations about the Elements used in the configuration: |
| <filename> |
| This denotes the name of the file to log to. It can be constructed out of entries in the |
| passed Context object as ${context-key}. This element is required. |
| <format> |
| The type attribute of the pattern element denotes the type of Formatter to be used and |
| according to it the pattern to use for. This elements defaults to: |
| %7.7{priority} %5.5{time} [%8.8{category}] (%{context}): %{message}\\n%{throwable} |
| <append> If the log file should be deleted every time the logger is creates (normally at the |
| start of the applcation) or not and thus the log entries will be appended. This elements defaults to |
| false. |
| <rotation> |
| This is an optional element. The type attribute determines which FileStrategy to user |
| (revolving=RevolvingFileStrategy, unique=UniqueFileStrategy). The required init and max attribute |
| are used to determine the initial and maximum rotation to use on a type="revolving" attribute. The |
| optional pattern and suffix attribute are used to form filenames on a type="unique" attribute. |
| The initial rotation can be set to -1 in which case the system will first create the maximum number |
| of file rotations by selecting the next available rotation and thereafter will overwrite the oldest log |
| file. |
| <or> |
| uses the OrRotateStrategy to combine the children |
| <size> |
| The number of bytes if no suffix used or kilo bytes (1024) if suffixed with 'k' or mega bytes |
| (1024k) if suffixed with 'm' when a file rotation should occur. It doesn't make sense to specify more |
| than one. |
| <time> |
| The time as HH:MM:SS when a rotation should occur. If you like to rotate a logfile more |
| than once a day put an <or> element immediately after the <rotation> element and specify the |
| times (and one size, too) inside the <or> element. |
| <date> |
| Rotation occur when string formatted date changed. Specify date formatting pattern. |
| <interval> |
| Interval at which a rotation should occur. The interval should be given in the format ddd: |
| hh:mm:ss. |
| --> |