문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| product:povice:framework:log [2022-11-15 15:20] – ↷ 문서가 product:povice:log에서 product:povice:framework:log(으)로 이동되었습니다 shincs | product:povice:framework:log [2024-02-26 09:16] (현재) – [사용자 정의] suri | ||
|---|---|---|---|
| 줄 37: | 줄 37: | ||
| ===== File 로그 ===== | ===== File 로그 ===== | ||
| - | 파일에 쓰는 로그를 사용합니다. 기본 디렉토리 위치는 '' | + | 파일에 쓰는 로그를 사용합니다. 기본 디렉토리 위치는 '' |
| ===== 사용자 정의 ===== | ===== 사용자 정의 ===== | ||
| 어떤 종류의 로그라도 '' | 어떤 종류의 로그라도 '' | ||
| - | | + | * Log.Console : 콘솔 로그입니다. |
| * Log.Database : 데이터베이스 로그입니다. | * Log.Database : 데이터베이스 로그입니다. | ||
| * Log.File : 파일 로그입니다. | * Log.File : 파일 로그입니다. | ||
| 줄 52: | 줄 51: | ||
| <code csharp> | <code csharp> | ||
| using Povice; | using Povice; | ||
| + | using System.Runtime.CompilerServices; | ||
| + | |||
| /// < | /// < | ||
| /// 데이터베이스에 로그를 남기는 클래스입니다. | /// 데이터베이스에 로그를 남기는 클래스입니다. | ||
| /// </ | /// </ | ||
| - | public class DatabaseLog : ILogBase | + | public class DatabaseLog : ILog |
| { | { | ||
| /// < | /// < | ||
| 줄 62: | 줄 63: | ||
| /// <param name=" | /// <param name=" | ||
| public void Write(LogEventArgs e) | public void Write(LogEventArgs e) | ||
| + | { | ||
| + | // 데이터베이스에 로그를 남기는 쿼리를 구현합니다. | ||
| + | } | ||
| + | |||
| + | public void Write(string text, LogLevel level = LogLevel.Info, | ||
| { | { | ||
| // 데이터베이스에 로그를 남기는 쿼리를 구현합니다. | // 데이터베이스에 로그를 남기는 쿼리를 구현합니다. | ||
| 줄 69: | 줄 75: | ||
| // DatabaseLog 클래스를 전역 멤버인 Log.Database에 설정합니다. | // DatabaseLog 클래스를 전역 멤버인 Log.Database에 설정합니다. | ||
| Log.Database = new DatabaseLog(); | Log.Database = new DatabaseLog(); | ||
| + | |||
| // 콘솔과 데이터베이스에 모두 로그를 남기도록 설정합니다. | // 콘솔과 데이터베이스에 모두 로그를 남기도록 설정합니다. | ||
| Log.DefaultFlags = LogFlags.Console | LogFlags.Database; | Log.DefaultFlags = LogFlags.Console | LogFlags.Database; | ||
| + | |||
| // 로그 클래스를 생성합니다. 로그 이름을 전달하여 종류를 파악할 수 있도록 합니다. | // 로그 클래스를 생성합니다. 로그 이름을 전달하여 종류를 파악할 수 있도록 합니다. | ||
| var log = new Log(" | var log = new Log(" | ||
| + | |||
| // 기본적으로 전역으로 설정한 Log.DefaultFlags를 사용합니다. | // 기본적으로 전역으로 설정한 Log.DefaultFlags를 사용합니다. | ||
| // 그러나, 다음과 같이 이 로그 개체에서만 다르게 동작하도록 변경할 수 있습니다. | // 그러나, 다음과 같이 이 로그 개체에서만 다르게 동작하도록 변경할 수 있습니다. | ||
| log.Flags = LogFlags.File | LogFlags.Database; | log.Flags = LogFlags.File | LogFlags.Database; | ||
| + | |||
| // 실제 로그를 남기는 호출 코드입니다. | // 실제 로그를 남기는 호출 코드입니다. | ||
| log.Write(" | log.Write(" | ||
| + | |||
| </ | </ | ||
| System 로그는 윈도우 이벤트 로그와 같이 시스템에서 사용하는 로그를 대상으로 설정합니다. Console, File, Database, System 등 모두 별도로 설정이 가능하고 동시에 호출이 가능하므로 다양하게 활용할 수 있습니다. | System 로그는 윈도우 이벤트 로그와 같이 시스템에서 사용하는 로그를 대상으로 설정합니다. Console, File, Database, System 등 모두 별도로 설정이 가능하고 동시에 호출이 가능하므로 다양하게 활용할 수 있습니다. | ||
| + | |||
| ===== 로그의 예외(Exception) ===== | ===== 로그의 예외(Exception) ===== | ||
| - | 로그를 남기는 코드에서 예외가 발생하면 '' | + | 로그를 남기는 코드에서 예외가 발생하면 '' |