54 lines
2.5 KiB
XML
54 lines
2.5 KiB
XML
<configuration>
|
|
<!--
|
|
CB-575: MCP SDK 2.0.0 has no public notification registration API. It registers only
|
|
notifications/initialized and notifications/roots/list_changed, so other client notifications
|
|
still warn when unhandled. Clients may legitimately send notifications/cancelled; suppress only
|
|
that SDK WARN because it would devalue the action-needed WARN level used by M4 fleet health.
|
|
If a later SDK handles cancellation, this filter simply stops matching and can be removed.
|
|
-->
|
|
<turboFilter class="dev.ltms.bridged.logging.McpCancelledNotificationFilter"/>
|
|
|
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
|
<encoder>
|
|
<pattern>%d{HH:mm:ss.SSS} %-5level [%thread] %logger{28} - %msg%n</pattern>
|
|
</encoder>
|
|
</appender>
|
|
|
|
<!--
|
|
CB-505 audit trail. Its own file, deliberately not the app log: privileged actions
|
|
(spawn/stop/send/reply/drain) must stay greppable and shippable without dragging DEBUG noise
|
|
along. AuditLog emits a complete JSON object including its own ISO-8601 "ts" field, so the
|
|
pattern is a bare %msg — a pattern that spliced literal braces around the message would
|
|
collide with logback's own variable substitution. Rolls daily, 30 days retained, 100MB cap.
|
|
|
|
NOTE: records carry who/what/target/outcome only. Message CONTENT is never written here —
|
|
this bridge carries source code and prompts, and an audit log that accumulated them would be
|
|
a transcript archive rather than a control.
|
|
-->
|
|
<appender name="AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
<file>logs/audit.log</file>
|
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
<fileNamePattern>logs/audit.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
|
<maxFileSize>10MB</maxFileSize>
|
|
<maxHistory>30</maxHistory>
|
|
<totalSizeCap>100MB</totalSizeCap>
|
|
</rollingPolicy>
|
|
<encoder>
|
|
<pattern>%msg%n</pattern>
|
|
</encoder>
|
|
</appender>
|
|
|
|
<logger name="dev.ltms.bridged" level="DEBUG"/>
|
|
<logger name="io.javalin" level="INFO"/>
|
|
<logger name="org.eclipse.jetty" level="WARN"/>
|
|
|
|
<!-- additivity=false keeps the audit stream out of stdout; it is its own record. -->
|
|
<logger name="audit" level="INFO" additivity="false">
|
|
<appender-ref ref="AUDIT"/>
|
|
</logger>
|
|
|
|
<root level="INFO">
|
|
<appender-ref ref="STDOUT"/>
|
|
</root>
|
|
</configuration>
|