---
id: ilog
title: 日志记录器
---

### 定义

命名空间：TouchSocket.Core <br/>
程序集：[TouchSocket.Core.dll](https://www.nuget.org/packages/TouchSocket.Core)


## 一、日志记录接口（ILog）

继承ILog接口，然后实现以下方法。即可实现内部的日志记录。
当用户自行输出日志时，可自行实现过程。
```csharp showLineNumbers
class MyLogger : ILog
{
    public LogType LogType { get; set; } = LogType.Debug | LogType.Error;

    public void Log(LogType logType, object source, string message, Exception exception)
    {
        //此处就是日志实际输出的位置。
    }
}
```
:::caution 注意

**LogType** 表示当前日志的可输出类型，并非输出级别，所以当需要输出多种类型时，请进行位域操作。

:::  


## 二、控制台日志记录器（ConsoleLogger）
在使用控制台日志记录器时，会按照以下格式输出。
![image.png](@site/static/img/docs/ilog-1.png)

## 三、文件日志记录器（FileLogger）
在使用文件日志记录器时，先会在指定目录下创建“logs”目录，然后按日期生成“.log”文件。
![image.png](@site/static/img/docs/ilog-2.png)

## 四、日志组记录器（LoggerGroup）
使用日志组记录器时，可以同时记录多个日志，例如：下列示例就同时在控制台和文件记录日志。
```csharp showLineNumbers
LoggerGroup logger = new LoggerGroup(ConsoleLogger.Default,new FileLogger());
```

## 五、日志扩展
引入命名空间。可快捷记录日志。
```csharp showLineNumbers
LoggerGroup logger = new LoggerGroup(ConsoleLogger.Default,new FileLogger());
logger.Info("Message");
logger.Warning("Warning");
logger.Error("Error");
```
