74 lines
1.9 KiB
Markdown
74 lines
1.9 KiB
Markdown
# HLog - v0.10.1
|
|
|
|
A structured logging package for Go built on top of [zerolog](https://github.com/rs/zerolog). HLog provides simple configuration via environment variables, flexible output options, and automatic log file management.
|
|
|
|
## Features
|
|
|
|
- Multiple output modes: console, file, or both simultaneously
|
|
- Configurable log levels: trace, debug, info, warn, error, fatal, panic
|
|
- Environment variable-based configuration with ConfigFromEnv
|
|
- Automatic log file management with append or overwrite modes
|
|
- Built on zerolog for high performance and structured logging
|
|
- Error stack trace support via pkg/errors integration
|
|
- Unix timestamp format
|
|
- Console-friendly output formatting
|
|
- Multi-writer support for simultaneous console and file output
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
go get git.haelnorr.com/h/golib/hlog
|
|
```
|
|
|
|
## Quick Start
|
|
|
|
```go
|
|
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
|
|
"git.haelnorr.com/h/golib/hlog"
|
|
)
|
|
|
|
func main() {
|
|
// Load configuration from environment variables
|
|
cfg, err := hlog.ConfigFromEnv()
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
// Create a new logger
|
|
logger, err := hlog.NewLogger(cfg, os.Stdout)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
defer logger.CloseLogFile()
|
|
|
|
// Start logging
|
|
logger.Info().Msg("Application started")
|
|
logger.Debug().Str("user", "john").Msg("User logged in")
|
|
logger.Error().Err(err).Msg("Something went wrong")
|
|
}
|
|
```
|
|
|
|
## Documentation
|
|
|
|
For detailed documentation, see the [HLog Wiki](https://git.haelnorr.com/h/golib-wiki/HLog).
|
|
|
|
Additional API documentation is available at [GoDoc](https://pkg.go.dev/git.haelnorr.com/h/golib/hlog).
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the LICENSE file for details.
|
|
|
|
## Contributing
|
|
|
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
|
|
## Related Projects
|
|
|
|
- [env](https://git.haelnorr.com/h/golib/env) - Environment variable helper used by hlog for configuration
|
|
- [zerolog](https://github.com/rs/zerolog) - The underlying logging library
|