A Rhino management sub task for creating a log appender writing to a series of files opened in write-only mode.

Ant Parameters
Attribute Type Description Required

appendername

String

Name of the appender to create. This name must be unique.

Yes.

filename

String

The file to write to

Yes.

filepattern

String

The pattern of file names for archived log files. Dependent on the rollover policy used, typically contains a date pattern or %i for integer counter.

Yes.

append

boolean

Append to the file if true, otherwise clear the file on open.

No.

bufferedio

boolean

Write to an intermediate buffer to reduce the number of write() syscalls.

No.

buffersize

Integer

The the size of the write buffer. Defults to 256kB

No.

createondemand

boolean

Only create the file when data is written

No.

immediateflush

boolean

Flush to disk after every message. Reduces the risk of data loss on system crash at the cost of performance.

No.

ignoreexceptions

boolean

Log exceptions thrown by this appender then ignore them. If set to false propagate to the caller (used to support selective appenders e.g. FailoverAppender).

No.

failonerror

boolean

Flag to control failure behaviour. If 'true', the sub task will throw a BuildException when an error is encountered. If 'false', the sub task will throw a NonFatalBuildException instead of a BuildException under specific circumstances. See below for conditions (if any) which will cause a NonFatalBuildException.

No. Default value is taken from the Rhino management parent task.

Nested elements

Element

Description

Required

filter

A filter to select events that will be reported by this appender.

No.

layout

The layout to use to format log events. If no layout is supplied the default pattern layout of "%m%n" will be used.

No.

policy

The rollover policy to determine when rollover should occur

Yes.

strategy

The strategy for archiving log files. Strategies determine the name, location, number and compression of the archived logs.

No.

NonFatalBuildException throw conditions
  • This task will throw a NonFatalBuildException if the appender cannot be created, eg. an appender with the same name already exists.

Sample Usage

To create a rolling file appender called MyConferenceApender with a write buffer of 2k and a file pattern of my-conference-<date>-<number>.log.gz Log messages are filtered to only include calls connecting to the MyConference system

<createrollingfileappender append="false" appendername="MyConferenceApender" bufferedio="true" buffersize="2048" createondemand="true" filename="${logDir}/my-conference.log" filepattern="${logDir}/my-conference-%d{MM-dd-yyyy}-%i.log.gz" ignoreexceptions="false" immediateflush="false">
    <component pluginname="SizeBasedTriggeringPolicy" properties="size=1024mb"/>
    <component pluginname="PatternLayout" properties="pattern=%m"/>
    <component pluginname="DynamicThresholdFilter" properties="key=cdPty,defaultThreshold=OFF">
        <component pluginname="KeyValuePair" properties="key=MyConference,value=DEBUG"/>
    </component>
</createrollingfileappender>
Previous page Next page
Rhino Version 2.7.0