mirror of
https://github.com/gechandesu/structlog.git
synced 2026-01-23 16:04:14 +03:00
init
This commit is contained in:
41
README.md
Normal file
41
README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Structured Logs
|
||||
|
||||
The `structlog` module develops the idea of [vlogger](https://github.com/CG-SS/vlogger)
|
||||
by constructing a record using a chain of method calls.
|
||||
|
||||
## Concept
|
||||
|
||||
When initialized, the logger starts a thread with a record handler. The logger
|
||||
has a number of methods, each of which creates a record with the corresponding
|
||||
logging level, e.g. `info()`.
|
||||
|
||||
By chaining method calls, the module user can create a record with any structure.
|
||||
The final `.send()` call sends the record to the handler for writing.
|
||||
|
||||
The record handler completely defines how to prepare the `Record` object for
|
||||
writing, how and whereto the writing will occur. The handler must implement the
|
||||
`RecordHandler` interface. Two ready-made handlers for recording are provided:
|
||||
`TextHandler` (the default) and `JSONHandler` for JSON formatted logs.
|
||||
|
||||
## Usage
|
||||
|
||||
```v
|
||||
import structlog
|
||||
|
||||
fn main() {
|
||||
log := structlog.new()
|
||||
defer {
|
||||
log.close()
|
||||
}
|
||||
|
||||
log.info().message('Hello, World!').send()
|
||||
}
|
||||
```
|
||||
|
||||
Output:
|
||||
|
||||
```
|
||||
2026-01-03T09:33:35.366Z [INFO ] message: 'Hello, World!'
|
||||
```
|
||||
|
||||
See also [examples](examples/) dir for more usage examples.
|
||||
Reference in New Issue
Block a user