feat: add TRACE log level support across UI
Some checks failed
CI / cleanup-branch (push) Has been skipped
CI / build (push) Failing after 34s
CI / docker (push) Has been skipped
CI / deploy (push) Has been skipped
CI / deploy-feature (push) Has been skipped

Add TRACE option to log forwarding level dropdowns (AppConfig,
AgentHealth), badge color mapping, and log filter ButtonGroups
on all pages that display application logs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-26 23:03:15 +01:00
parent d6c1f2c25b
commit 862a27b0b8
5 changed files with 10 additions and 3 deletions

View File

@@ -38,6 +38,7 @@ function logLevelColor(level?: string): BadgeColor {
case 'ERROR': return 'error';
case 'WARN': return 'warning';
case 'DEBUG': return 'running';
case 'TRACE': return 'auto';
default: return 'success';
}
}
@@ -334,6 +335,7 @@ export default function AppConfigDetailPage() {
<option value="WARN">WARN</option>
<option value="INFO">INFO</option>
<option value="DEBUG">DEBUG</option>
<option value="TRACE">TRACE</option>
</select>
) : (
<Badge label={String(form.logForwardingLevel)} color={logLevelColor(form.logForwardingLevel as string)} variant="filled" />

View File

@@ -30,7 +30,7 @@ function timeAgo(iso?: string): string {
function logLevelColor(level?: string): BadgeColor {
switch (level?.toUpperCase()) {
case 'ERROR': return 'error'; case 'WARN': return 'warning'; case 'DEBUG': return 'running'; default: return 'success';
case 'ERROR': return 'error'; case 'WARN': return 'warning'; case 'DEBUG': return 'running'; case 'TRACE': return 'auto'; default: return 'success';
}
}
function engineLevelColor(level?: string): BadgeColor {
@@ -241,7 +241,7 @@ function AppConfigDetail({ appId, onClose }: { appId: string; onClose: () => voi
<div className={styles.field}>
<span className={styles.fieldLabel}>Log Forwarding</span>
{editing
? <select className={styles.select} value={String(form.logForwardingLevel)} onChange={(e) => updateField('logForwardingLevel', e.target.value)}><option value="ERROR">ERROR</option><option value="WARN">WARN</option><option value="INFO">INFO</option><option value="DEBUG">DEBUG</option></select>
? <select className={styles.select} value={String(form.logForwardingLevel)} onChange={(e) => updateField('logForwardingLevel', 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>
: <Badge label={String(form.logForwardingLevel)} color={logLevelColor(form.logForwardingLevel as string)} variant="filled" />}
</div>
<div className={styles.field}>

View File

@@ -226,6 +226,7 @@ const LOG_LEVEL_ITEMS: ButtonGroupItem[] = [
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
{ value: 'info', label: 'Info', color: 'var(--success)' },
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
{ value: 'trace', label: 'Trace', color: 'var(--text-muted)' },
];
function mapLogLevel(level: string): LogEntry['level'] {
@@ -535,6 +536,7 @@ export default function AgentHealth() {
<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}>
@@ -574,7 +576,8 @@ export default function AgentHealth() {
<Badge label={appConfig.logForwardingLevel ?? 'INFO'} color={
(appConfig.logForwardingLevel ?? 'INFO') === 'ERROR' ? 'error'
: (appConfig.logForwardingLevel ?? 'INFO') === 'WARN' ? 'warning'
: (appConfig.logForwardingLevel ?? 'INFO') === 'DEBUG' ? 'running' : 'success'
: (appConfig.logForwardingLevel ?? 'INFO') === 'DEBUG' ? 'running'
: (appConfig.logForwardingLevel ?? 'INFO') === 'TRACE' ? 'auto' : 'success'
} variant="filled" />
</div>
<div className={styles.configField}>

View File

@@ -17,6 +17,7 @@ const LOG_LEVEL_ITEMS: ButtonGroupItem[] = [
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
{ value: 'info', label: 'Info', color: 'var(--success)' },
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
{ value: 'trace', label: 'Trace', color: 'var(--text-muted)' },
];
function mapLogLevel(level: string): LogEntry['level'] {

View File

@@ -22,6 +22,7 @@ const LOG_LEVEL_ITEMS: ButtonGroupItem[] = [
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
{ value: 'info', label: 'Info', color: 'var(--success)' },
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
{ value: 'trace', label: 'Trace', color: 'var(--text-muted)' },
]
function mapLogLevel(level: string): LogEntry['level'] {