kui-vault/06.Archive/aimSystems/NSD/aimlog4j2.xml.md

105 lines
4.4 KiB
Markdown

for IOBridge_SECS java
```xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Configuration>
<CustomLevels>
<CustomLevel name="RAW_R" intLevel="1001"/>
<CustomLevel name="RAW_S" intLevel="1002"/>
<CustomLevel name="SECS_R" intLevel="1011"/>
<CustomLevel name="SECS" intLevel="1012"/>
<CustomLevel name="SECS_S" intLevel="1013"/>
<CustomLevel name="SECS_DATA_R" intLevel="1021"/>
<CustomLevel name="SECS_DATA" intLevel="1022"/>
<CustomLevel name="SECS_DATA_S" intLevel="1023"/>
<CustomLevel name="DRIVER" intLevel="1031"/>
</CustomLevels>
<Properties>
</Properties>
<Appenders>
<RollingFile name="raw" immediateFlush="true">
<FileName>${ctx:APP_LOG_ROOT}/${ctx:DEVICEID}/RawByte/${ctx:DEVICEID}_RawByte.log</FileName>
<FilePattern>${ctx:APP_LOG_ROOT}/${ctx:DEVICEID}/RawByte/${ctx:DAY_PATTERN}/${ctx:FILE_PATTERN}_RawByte_%i.log</FilePattern>
<PatternLayout pattern="%d{[HH:mm:ss.SSS]}%m%n"/>
<Policies>
<!-- size 단위: Byte(default), KB, MB, or GB -->
<SizeBasedTriggeringPolicy>
<size>${ctx:MAX_FILE_SIZE}</size>
</SizeBasedTriggeringPolicy>
<!-- interval(default 1)이므로 1초 간격으로 rolling 수행 -->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<LevelRangeFilter minLevel="RAW_R" maxLevel="RAW_S" onMatch="ACCEPT" onMismatch="DENY"/>
<DefaultRolloverStrategy max="999"/>
</RollingFile>
<Async name="AsyncRawAppender">
<AppenderRef ref="raw"/>
</Async>
<RollingFile name="secs" immediateFlush="true">
<FileName>${ctx:APP_LOG_ROOT}/${ctx:DEVICEID}/SECS_Header/${ctx:DEVICEID}_SECS_Header.log</FileName>
<FilePattern>${ctx:APP_LOG_ROOT}/${ctx:DEVICEID}/SECS_Header/${ctx:DAY_PATTERN}/${ctx:FILE_PATTERN}_SECS_Header_%i.log</FilePattern>
<PatternLayout pattern="%d{[HH:mm:ss.SSS]}%m%n"/>
<Policies>
<!-- size 단위: Byte(default), KB, MB, or GB -->
<SizeBasedTriggeringPolicy>
<size>${ctx:MAX_FILE_SIZE}</size>
</SizeBasedTriggeringPolicy>
<!-- interval(default 1)이므로 1초 간격으로 rolling 수행 -->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<LevelRangeFilter minLevel="SECS_R" maxLevel="SECS_S" onMatch="ACCEPT" onMismatch="DENY"/>
<DefaultRolloverStrategy max="999"/>
</RollingFile>
<Async name="AsyncSECSAppender">
<AppenderRef ref="secs"/>
</Async>
<RollingFile name="secsdata" immediateFlush="true">
<FileName>${ctx:APP_LOG_ROOT}/${ctx:DEVICEID}/SECS_Data/${ctx:DEVICEID}_SECS_Data.log</FileName>
<FilePattern>${ctx:APP_LOG_ROOT}/${ctx:DEVICEID}/SECS_Data/${ctx:DAY_PATTERN}/${ctx:FILE_PATTERN}_SECS_Data_%i.log</FilePattern>
<PatternLayout pattern="%d{[HH:mm:ss.SSS]}%m%n"/>
<Policies>
<!-- size 단위: Byte(default), KB, MB, or GB -->
<SizeBasedTriggeringPolicy>
<size>${ctx:MAX_FILE_SIZE}</size>
</SizeBasedTriggeringPolicy>
<!-- interval(default 1)이므로 1초 간격으로 rolling 수행 -->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<LevelRangeFilter minLevel="SECS_DATA_R" maxLevel="SECS_DATA_S" onMatch="ACCEPT" onMismatch="DENY"/>
<DefaultRolloverStrategy max="999"/>
</RollingFile>
<Async name="AsyncSECSDataAppender">
<AppenderRef ref="secsdata"/>
</Async>
<RollingFile name="driver" immediateFlush="true">
<FileName>${ctx:APP_LOG_ROOT}/${ctx:DEVICEID}/Driver/${ctx:DEVICEID}_Driver.log</FileName>
<FilePattern>${ctx:APP_LOG_ROOT}/${ctx:DEVICEID}/Driver/${ctx:DAY_PATTERN}/${ctx:FILE_PATTERN}_Driver_%i.log</FilePattern>
<PatternLayout pattern="%d{[HH:mm:ss.SSS]}[%-5p] - %m%n"/>
<Policies>
<!-- size 단위: Byte(default), KB, MB, or GB -->
<SizeBasedTriggeringPolicy>
<size>${ctx:MAX_FILE_SIZE}</size>
</SizeBasedTriggeringPolicy>
<!-- interval(default 1)이므로 1초 간격으로 rolling 수행 -->
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<!-- <LevelRangeFilter minLevel="ERROR" maxLevel="INFO" onMatch="ACCEPT" onMismatch="DENY"/> -->
<DefaultRolloverStrategy max="999"/>
</RollingFile>
<Async name="AsyncDriverAppender">
<AppenderRef ref="driver"/>
</Async>
</Appenders>
<Loggers>
<Logger Level="ALL" additivity="false" name="kr.co.aim.iobridge.secs.logger">
<AppenderRef ref="AsyncRawAppender"/>
<AppenderRef ref="AsyncSECSAppender"/>
<AppenderRef ref="AsyncSECSDataAppender"/>
<AppenderRef ref="AsyncDriverAppender"/>
</Logger>
</Loggers>
</Configuration>
```