PDComm.Modbus.DiagnosticLogging
클래스
PDComm Modbus 네이티브 라이브러리의 선택형 진단 로그를 제어합니다.
public static class DiagnosticLogging로깅은 기본적으로 꺼져 있습니다. 로깅을 켜면 라이브러리가 JSON Lines 레코드를 비동기로 파일에 기록하거나(크기 기반 회전 적용) 표준 오류에 기록합니다. 설정은 로드된 pdcomm_modbus_ffi 라이브러리 전체에 적용됩니다. 큐에 넣지 못한 레코드는 버려지고 DiagnosticLogging.Status에 개수가 집계됩니다. Modbus ABI 1.1 이상이 필요합니다.
멤버
Configure
메서드
진단 로그 구성을 교체합니다.
public static void Configure(object options)매개변수
| 이름 | 설명 |
|---|---|
options | JsonSerializer로 JSON 객체에 직렬화되는 객체입니다. 따라서 익명 형식처럼 정확한 소문자 이름을 사용해야 합니다. 인식하는 속성은 enabled(bool, 기본값 true), level(error, warn, info, debug, trace 중 하나, 기본값 info), file(경로, 또는 표준 오류이면 null), max_bytes(회전 크기, 기본값 10MiB), files(보관할 회전 파일 수, 1~16, 기본값 3), forensics(bool, debug 또는 trace가 필요)입니다. 알 수 없는 속성은 거부됩니다. |
참고
NotSupportedException예외: 로드된 네이티브 라이브러리가 로깅 API가 없는 Modbus ABI 1.0을 구현합니다.DllNotFoundException예외: 네이티브 라이브러리를 찾거나 로드할 수 없습니다.InvalidOperationException예외: 라이브러리가 구성을 거부했습니다.
Flush
메서드
큐에 쌓인 로그 레코드가 모두 기록될 때까지 기다립니다.
public static void Flush()참고
NotSupportedException예외: 로드된 네이티브 라이브러리가 로깅 API가 없는 Modbus ABI 1.0을 구현합니다.DllNotFoundException예외: 네이티브 라이브러리를 찾거나 로드할 수 없습니다.InvalidOperationException예외: 기록기가 약 2초 안에 플러시를 확인하지 않았거나 쓰기 실패를 보고했습니다.
Status
메서드
현재 로깅 상태와 카운터를 가져옵니다.
public static JsonElement Status()반환값
enabled, level_name, sink, written, dropped, write_errors, configuration_errors 같은 필드가 있는 JSON 객체입니다.
참고
NotSupportedException예외: 로드된 네이티브 라이브러리가 로깅 API가 없는 Modbus ABI 1.0을 구현합니다.DllNotFoundException예외: 네이티브 라이브러리를 찾거나 로드할 수 없습니다.InvalidOperationException예외: 라이브러리가 상태를 보고하지 못했습니다.