Skip to main content

Viewing System Logs (/ui/system/log/list)

This screen lets you search and review the system logs (Cassandra pe.app_system_log) that the gateway writes during boot, collection, communication, and API calls.

Click the red number on the System Errors (Today) home card → you are taken here automatically (today's ERROR entries only), or go directly to /ui/system/log/list.


1. Screen Layout

┌─────────┬──────────────────────────────────────────────────┐
│ 좌측 │ 우측 │
│ 검색폼 │ 로그 목록 (DataTables) │
│ │ │
│ [기간] │ ┌───────────┬───────┬──────────────────────────┐ │
│ [레벨] │ │ 시간 │ 레벨 │ 메세지 │ │
│ │ ├───────────┼───────┼──────────────────────────┤ │
│ [검색] │ │ ... │ INFO │ ... │ │
└─────────┴──────────────────────────────────────────────────┘

Default search period: last 30 days (00:00 ~ 23:59).


2. Left Search Form

FieldMeaningDefault
Search periodYYYY-MM-DD HH:mm ~ YYYY-MM-DD HH:mm range29 days before today 00:00 ~ today 23:59
Level전체 / INFO / WARN / ERRORAll

Left-Side Actions

ButtonAction
↻ Refresh (top of page)log.search() — re-runs the query with the current form values
🔍 Search (blue button, bottom right of left panel)log.search() — calls /system/log/search with the form values

The left form has only two fields — search period (date range picker) and level (combo box) — and shares the same pp-cell-pill label / rounded form design as the other search screens (/ui/connect/list, /ui/point).


3. Right Side — Log List (DataTables)

#ColumnDisplay
1Timetimestamp.iso (down to ms) — center-aligned, descending by default (most recent first)
2LevelRounded capsule badge (border-radius: 5px) — 🟦 INFO (solid blue) / 🟧 WARN (solid orange) / 🟥 ERROR (solid red). Same tone as the pp-cell-pill used on other pages such as /ui/connect/list
3MessageLog body (long messages wrap automatically; click to expand)

Page size: 10 / 20 / 50 / 100 / 1000 selectable (default 100).

Right-Side Actions

ButtonAction
↻ Refreshlog.list()
🗑 Delete Alllog.truncate() — confirmation dialog → deletes everything (pe.app_system_log truncate). Cannot be undone

4. Common Patterns

Message / LevelMeaning / Next Action
ERROR [PLCDriverConnector] connection failed ...PLC connection failed. Check IP/port/firewall
ERROR [PLCValueReader] read failed at TAG_*Review that tag's address / data type (format)
WARN [SchedulerStartListener] startup race detectedVery rare startup race — try restart.sh once more
INFO [TAG_WRITE] OK opc_id=... tag_id=... value=... user_agent=... remote_ip=...Normal write record — for audit purposes. remote_ip is RemoteAddr by default; with reverse proxy opt-in, the first IP in X-Forwarded-For
INFO [API_ACCESS] method=GET path=/api/v1/... status=200 ...One-line audit of a REST API call (ApiAccessLogFilter) — every /api/* call appears here. The apikey is masked to a 4-character prefix plus length
WARN [API_ACCESS] ... status=401 auth=noneAuthentication failure — missing key
WARN [API_ACCESS] ... status=401 auth=deprecated_queryAttempt to authenticate with the discontinued ?api_key= query — must switch to header/Bearer
ERROR [Cassandra*] timeout / coordinator overloadCheck DB load / disk / heap. node-info.sh
INFO [SparkPlugSession] NBIRTH publish complete seq=0Normal Sparkplug restart
INFO [SparkPlugSession] DBIRTH publish complete devices=NSparkplug device birth — N OPCs issued a birth message

5. Data Source / APIs Called

ActionAPI
SearchGET /system/log/search (Query: s_date_range, level, ...)
Delete AllPOST /system/log/truncate

Internal storage: Cassandra pe.app_system_log table. A separate TTL can be configured (system.log.ttl.days in app.properties).


6. Common Pitfalls

SymptomCause / Resolution
Search results emptyOutside the default 30-day range / filtered out by level. Set period to one year and level to All
Screen sluggish due to too many logsChange page size from 100 to 20, or narrow level to ERROR
ERROR count differs from the System Errors (Today) cardThe card counts since today 00:00; this screen uses the period you selected
Statistics show 0 after Delete AllNormal — stays empty until new ERRORs arrive
Log retention too long, straining diskShorten system.log.ttl.days / combine clean.sh with node-cleanup.sh

7. Learn More