1[← Debug](6-Debug-EN.md) | Logger[(中文)](7-Logger-CN.md) | [Concurrent →](8-Concurrent-EN.md)
2***
3
4
5# Logger
6
7## Description
8
9The logger is mainly used to provide support for auditing, to record each call, similar to the server's access log.
10
11## Using
12
13### Init logger
14
15If you want to use the log function, you need to initialize a log object first. You can set the log level, log template, log output path and channel when initializing the log object.
16```go
17// level: default value is info
18// channel: default value is AlibabaCloud
19// file: should be an object that implements the io.writer interface
20// templete: logger template, If not entered, the default value is `{time} {channel}: "{method} {uri} HTTP/{version}" {code} {cost} {hostname}`
21client.SetLogger("level", "channel", file, templete)      // Set the client's log. When you call this method, the log function is enabled by default.
22```
23
24### Related operations
25
26```go
27logger := client.GetLogger()    // Get client logger
28client.OpenLogger()            // Open logger, if clien logger is not exist, there will create a default logger for client
29client.CloseLogger()           // Close logger
30client.GetLoggerMsg()          // Get last logger message,if clien logger is not exist, there will create a default logger for client
31client.SetTemplate(templete)   // Set client logger template,if clien logger is not exist, there will create a default logger for client
32client.GetTemplate()           // Get client logger template,if clien logger is not exist, there will create a default logger for client
33```
34
35### Variables
36
37| Variables |  Description  |
38|----------|-------------|
39| {channel}     | name of the log |
40| {host}     | Host of the request |
41| {ts}     | GMT中的 ISO 8601日期 |
42| {method}     | Method of the request |
43| {uri}     | URI of the request |
44| {version}     | Protocol version |
45| {target}     | Request target of the request (path + query) |
46| {hostname}     | Hostname of the machine that sent the request |
47| {code}     | Status code of the response (if available) |
48| {error}     | Any error messages (if available) |
49| {req_headers}     | Request headers |
50| {res_headers}     | Response headers |
51| {pid}     | PID |
52| {cost}     | Cost Time |
53| {start_time}     | start Time |
54
55***
56[← Debug](6-Debug-EN.md) | Logger[(中文)](7-Logger-CN.md) | [Concurrent →](8-Concurrent-EN.md)