auto_trade_sys/frontend/src/components/LogMonitor.css
薇薇安 79526151f3 a
2026-01-18 21:20:32 +08:00

316 lines
4.4 KiB
CSS

.log-monitor {
display: flex;
flex-direction: column;
gap: 16px;
}
.log-header {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 16px;
}
.log-header h2 {
margin: 0;
}
.log-subtitle {
margin-top: 6px;
color: #666;
font-size: 12px;
}
.log-actions .btn {
border: 1px solid #ddd;
padding: 8px 12px;
border-radius: 8px;
background: #fff;
cursor: pointer;
}
.log-actions .btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.log-controls {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: flex-end;
padding: 12px;
border: 1px solid #eee;
border-radius: 10px;
background: #fff;
}
.log-overview {
padding: 12px;
border: 1px solid #eee;
border-radius: 10px;
background: #fff;
display: flex;
flex-direction: column;
gap: 10px;
}
.overview-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
}
.overview-title {
font-weight: 600;
color: #333;
}
.overview-items {
display: flex;
gap: 12px;
flex-wrap: wrap;
color: #444;
font-size: 12px;
}
.overview-config {
display: flex;
gap: 10px;
flex-wrap: wrap;
align-items: flex-end;
}
.overview-config .mini {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 120px;
}
.overview-config .mini label {
font-size: 12px;
color: #666;
}
.overview-config .mini input {
border: 1px solid #ddd;
border-radius: 8px;
padding: 8px 10px;
outline: none;
}
.control {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 140px;
}
.control.inline {
min-width: auto;
}
.control label {
font-size: 12px;
color: #666;
}
.control input,
.control select {
border: 1px solid #ddd;
border-radius: 8px;
padding: 8px 10px;
outline: none;
}
.log-error {
padding: 10px 12px;
border-radius: 10px;
border: 1px solid #f3c4c4;
background: #fff5f5;
color: #b42318;
}
.log-table {
border: 1px solid #eee;
border-radius: 10px;
overflow: hidden;
background: #fff;
}
.log-paging {
display: flex;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
padding: 12px;
border: 1px solid #eee;
border-radius: 10px;
background: #fff;
}
.paging-left {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 260px;
}
.paging-meta {
font-size: 12px;
color: #333;
}
.paging-meta code {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 12px;
padding: 2px 6px;
border-radius: 6px;
background: #f5f5f5;
border: 1px solid #eee;
}
.paging-actions {
display: flex;
gap: 8px;
align-items: center;
}
.log-row {
display: grid;
grid-template-columns: 170px 140px 110px 1fr;
gap: 12px;
padding: 10px 12px;
border-top: 1px solid #f3f3f3;
align-items: start;
}
.log-head {
border-top: none;
background: #fafafa;
font-weight: 600;
color: #333;
}
.log-empty {
padding: 16px 12px;
color: #666;
}
.c-time,
.c-svc,
.c-level {
font-size: 12px;
color: #333;
}
.c-msg {
display: flex;
flex-direction: column;
gap: 6px;
}
.msg-line {
display: flex;
gap: 8px;
align-items: baseline;
}
.msg-text {
font-size: 13px;
color: #111;
word-break: break-word;
white-space: pre-wrap;
}
.msg-count {
font-size: 12px;
color: #666;
}
.msg-meta {
font-size: 12px;
color: #666;
}
.msg-details summary {
cursor: pointer;
font-size: 12px;
color: #333;
}
.stack {
margin: 8px 0 0;
padding: 10px;
border-radius: 8px;
background: #0b1020;
color: #dbeafe;
overflow: auto;
font-size: 12px;
line-height: 1.35;
}
.pill {
display: inline-block;
padding: 3px 8px;
border-radius: 999px;
font-size: 12px;
border: 1px solid #ddd;
background: #fff;
}
.pill-error {
border-color: #f3c4c4;
background: #fff5f5;
color: #b42318;
}
.pill-critical {
border-color: #f1aeb5;
background: #ffe4e6;
color: #9f1239;
}
.pill-warning {
border-color: #f6d48b;
background: #fffbeb;
color: #92400e;
}
.pill-info {
border-color: #bfdbfe;
background: #eff6ff;
color: #1d4ed8;
}
.pill-debug {
border-color: #e5e7eb;
background: #f9fafb;
color: #374151;
}
@media (max-width: 900px) {
.log-row {
grid-template-columns: 1fr;
}
.log-head {
display: none;
}
.c-time::before {
content: "时间:";
color: #666;
}
.c-svc::before {
content: "服务:";
color: #666;
}
.c-level::before {
content: "级别:";
color: #666;
}
}