feat: rename logForwardingLevel to applicationLogLevel, add agentLogLevel
Some checks failed
CI / cleanup-branch (push) Has been skipped
CI / build (push) Failing after 39s
CI / docker (push) Has been skipped
CI / deploy (push) Has been skipped
CI / deploy-feature (push) Has been skipped

Align with cameleer3-common rename: logForwardingLevel → applicationLogLevel
(root logger) and new agentLogLevel (com.cameleer3 logger). Both fields
are on ApplicationConfig, pushed via config-update. UI shows "App Log Level"
and "Agent Log Level" on AppConfig slide-in, AgentHealth config bar, and
AppConfigDetailPage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-26 23:36:31 +01:00
parent 6e187ccb48
commit a2a8e4ae3f
5 changed files with 73 additions and 24 deletions

View File

@@ -255,7 +255,8 @@ export default function AgentHealth() {
const startConfigEdit = useCallback(() => {
if (!appConfig) return;
setConfigDraft({
logForwardingLevel: appConfig.logForwardingLevel ?? 'INFO',
applicationLogLevel: appConfig.applicationLogLevel ?? 'INFO',
agentLogLevel: appConfig.agentLogLevel ?? 'INFO',
engineLevel: appConfig.engineLevel ?? 'REGULAR',
payloadCaptureMode: appConfig.payloadCaptureMode ?? 'NONE',
metricsEnabled: appConfig.metricsEnabled,
@@ -530,9 +531,20 @@ export default function AgentHealth() {
{configEditing ? (
<>
<div className={styles.configField}>
<span className={styles.configLabel}>Log Level</span>
<select className={styles.configSelect} value={String(configDraft.logForwardingLevel ?? 'INFO')}
onChange={(e) => setConfigDraft(d => ({ ...d, logForwardingLevel: e.target.value }))}>
<span className={styles.configLabel}>App Log Level</span>
<select className={styles.configSelect} value={String(configDraft.applicationLogLevel ?? 'INFO')}
onChange={(e) => setConfigDraft(d => ({ ...d, applicationLogLevel: e.target.value }))}>
<option value="ERROR">ERROR</option>
<option value="WARN">WARN</option>
<option value="INFO">INFO</option>
<option value="DEBUG">DEBUG</option>
<option value="TRACE">TRACE</option>
</select>
</div>
<div className={styles.configField}>
<span className={styles.configLabel}>Agent Log Level</span>
<select className={styles.configSelect} value={String(configDraft.agentLogLevel ?? 'INFO')}
onChange={(e) => setConfigDraft(d => ({ ...d, agentLogLevel: e.target.value }))}>
<option value="ERROR">ERROR</option>
<option value="WARN">WARN</option>
<option value="INFO">INFO</option>
@@ -573,12 +585,21 @@ export default function AgentHealth() {
) : (
<>
<div className={styles.configField}>
<span className={styles.configLabel}>Log Level</span>
<Badge label={appConfig.logForwardingLevel ?? 'INFO'} color={
(appConfig.logForwardingLevel ?? 'INFO') === 'ERROR' ? 'error'
: (appConfig.logForwardingLevel ?? 'INFO') === 'WARN' ? 'warning'
: (appConfig.logForwardingLevel ?? 'INFO') === 'DEBUG' ? 'running'
: (appConfig.logForwardingLevel ?? 'INFO') === 'TRACE' ? 'auto' : 'success'
<span className={styles.configLabel}>App Log Level</span>
<Badge label={appConfig.applicationLogLevel ?? 'INFO'} color={
(appConfig.applicationLogLevel ?? 'INFO') === 'ERROR' ? 'error'
: (appConfig.applicationLogLevel ?? 'INFO') === 'WARN' ? 'warning'
: (appConfig.applicationLogLevel ?? 'INFO') === 'DEBUG' ? 'running'
: (appConfig.applicationLogLevel ?? 'INFO') === 'TRACE' ? 'auto' : 'success'
} variant="filled" />
</div>
<div className={styles.configField}>
<span className={styles.configLabel}>Agent Log Level</span>
<Badge label={appConfig.agentLogLevel ?? 'INFO'} color={
(appConfig.agentLogLevel ?? 'INFO') === 'ERROR' ? 'error'
: (appConfig.agentLogLevel ?? 'INFO') === 'WARN' ? 'warning'
: (appConfig.agentLogLevel ?? 'INFO') === 'DEBUG' ? 'running'
: (appConfig.agentLogLevel ?? 'INFO') === 'TRACE' ? 'auto' : 'success'
} variant="filled" />
</div>
<div className={styles.configField}>