feat: add TRACE log level support across UI
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:
@@ -38,6 +38,7 @@ function logLevelColor(level?: string): BadgeColor {
|
|||||||
case 'ERROR': return 'error';
|
case 'ERROR': return 'error';
|
||||||
case 'WARN': return 'warning';
|
case 'WARN': return 'warning';
|
||||||
case 'DEBUG': return 'running';
|
case 'DEBUG': return 'running';
|
||||||
|
case 'TRACE': return 'auto';
|
||||||
default: return 'success';
|
default: return 'success';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -334,6 +335,7 @@ export default function AppConfigDetailPage() {
|
|||||||
<option value="WARN">WARN</option>
|
<option value="WARN">WARN</option>
|
||||||
<option value="INFO">INFO</option>
|
<option value="INFO">INFO</option>
|
||||||
<option value="DEBUG">DEBUG</option>
|
<option value="DEBUG">DEBUG</option>
|
||||||
|
<option value="TRACE">TRACE</option>
|
||||||
</select>
|
</select>
|
||||||
) : (
|
) : (
|
||||||
<Badge label={String(form.logForwardingLevel)} color={logLevelColor(form.logForwardingLevel as string)} variant="filled" />
|
<Badge label={String(form.logForwardingLevel)} color={logLevelColor(form.logForwardingLevel as string)} variant="filled" />
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ function timeAgo(iso?: string): string {
|
|||||||
|
|
||||||
function logLevelColor(level?: string): BadgeColor {
|
function logLevelColor(level?: string): BadgeColor {
|
||||||
switch (level?.toUpperCase()) {
|
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 {
|
function engineLevelColor(level?: string): BadgeColor {
|
||||||
@@ -241,7 +241,7 @@ function AppConfigDetail({ appId, onClose }: { appId: string; onClose: () => voi
|
|||||||
<div className={styles.field}>
|
<div className={styles.field}>
|
||||||
<span className={styles.fieldLabel}>Log Forwarding</span>
|
<span className={styles.fieldLabel}>Log Forwarding</span>
|
||||||
{editing
|
{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" />}
|
: <Badge label={String(form.logForwardingLevel)} color={logLevelColor(form.logForwardingLevel as string)} variant="filled" />}
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.field}>
|
<div className={styles.field}>
|
||||||
|
|||||||
@@ -226,6 +226,7 @@ const LOG_LEVEL_ITEMS: ButtonGroupItem[] = [
|
|||||||
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
|
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
|
||||||
{ value: 'info', label: 'Info', color: 'var(--success)' },
|
{ value: 'info', label: 'Info', color: 'var(--success)' },
|
||||||
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
|
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
|
||||||
|
{ value: 'trace', label: 'Trace', color: 'var(--text-muted)' },
|
||||||
];
|
];
|
||||||
|
|
||||||
function mapLogLevel(level: string): LogEntry['level'] {
|
function mapLogLevel(level: string): LogEntry['level'] {
|
||||||
@@ -535,6 +536,7 @@ export default function AgentHealth() {
|
|||||||
<option value="WARN">WARN</option>
|
<option value="WARN">WARN</option>
|
||||||
<option value="INFO">INFO</option>
|
<option value="INFO">INFO</option>
|
||||||
<option value="DEBUG">DEBUG</option>
|
<option value="DEBUG">DEBUG</option>
|
||||||
|
<option value="TRACE">TRACE</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.configField}>
|
<div className={styles.configField}>
|
||||||
@@ -574,7 +576,8 @@ export default function AgentHealth() {
|
|||||||
<Badge label={appConfig.logForwardingLevel ?? 'INFO'} color={
|
<Badge label={appConfig.logForwardingLevel ?? 'INFO'} color={
|
||||||
(appConfig.logForwardingLevel ?? 'INFO') === 'ERROR' ? 'error'
|
(appConfig.logForwardingLevel ?? 'INFO') === 'ERROR' ? 'error'
|
||||||
: (appConfig.logForwardingLevel ?? 'INFO') === 'WARN' ? 'warning'
|
: (appConfig.logForwardingLevel ?? 'INFO') === 'WARN' ? 'warning'
|
||||||
: (appConfig.logForwardingLevel ?? 'INFO') === 'DEBUG' ? 'running' : 'success'
|
: (appConfig.logForwardingLevel ?? 'INFO') === 'DEBUG' ? 'running'
|
||||||
|
: (appConfig.logForwardingLevel ?? 'INFO') === 'TRACE' ? 'auto' : 'success'
|
||||||
} variant="filled" />
|
} variant="filled" />
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.configField}>
|
<div className={styles.configField}>
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ const LOG_LEVEL_ITEMS: ButtonGroupItem[] = [
|
|||||||
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
|
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
|
||||||
{ value: 'info', label: 'Info', color: 'var(--success)' },
|
{ value: 'info', label: 'Info', color: 'var(--success)' },
|
||||||
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
|
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
|
||||||
|
{ value: 'trace', label: 'Trace', color: 'var(--text-muted)' },
|
||||||
];
|
];
|
||||||
|
|
||||||
function mapLogLevel(level: string): LogEntry['level'] {
|
function mapLogLevel(level: string): LogEntry['level'] {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ const LOG_LEVEL_ITEMS: ButtonGroupItem[] = [
|
|||||||
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
|
{ value: 'warn', label: 'Warn', color: 'var(--warning)' },
|
||||||
{ value: 'info', label: 'Info', color: 'var(--success)' },
|
{ value: 'info', label: 'Info', color: 'var(--success)' },
|
||||||
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
|
{ value: 'debug', label: 'Debug', color: 'var(--running)' },
|
||||||
|
{ value: 'trace', label: 'Trace', color: 'var(--text-muted)' },
|
||||||
]
|
]
|
||||||
|
|
||||||
function mapLogLevel(level: string): LogEntry['level'] {
|
function mapLogLevel(level: string): LogEntry['level'] {
|
||||||
|
|||||||
Reference in New Issue
Block a user