diff --git a/README.md b/README.md index 568caa7..e07de3e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![Go Report Card](https://goreportcard.com/badge/github.com/elgopher/yala)](https://goreportcard.com/report/github.com/elgopher/yala) [![codecov](https://codecov.io/gh/elgopher/yala/branch/master/graph/badge.svg)](https://codecov.io/gh/elgopher/yala) [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active) - + Tiny **structured logging** abstraction or facade for various logging libraries, allowing the end user to plug in the desired logging library in `main.go`. @@ -146,6 +146,10 @@ func (MyAdapter) Log(context.Context, logger.Entry) { * Logger is used by package/module/library author * Adapter is an interface to be implemented by adapters. They use real logging libraries under the hood. * So, why two abstractions? Simply because the smaller the Adapter interface, the easier it is to implement it. On the other hand, from library perspective, more methods means API which is easier to use. +* Here is the architecture from the package perspective: + + + ### More examples diff --git a/docs/architecture.drawio b/docs/architecture.drawio new file mode 100644 index 0000000..635f6a8 --- /dev/null +++ b/docs/architecture.drawio @@ -0,0 +1 @@ +5ZjbcpswEIafhstkOJm4l7Fz6EV6k8z0kDsFrUGNQFQssenTdwUiQKgdt407ngnJjLW/VgL9+8kRcYJltrnWrEg/KQ7S8V2+cYILx/e90Pcd8+vyulXm83krJFpwm9QLd+InWNG1aiU4lKNEVEqiKMZirPIcYhxpTGu1HqetlBzftWAJTIS7mMmp+kVwTO0qZm6vfwSRpN2dPdf2ZKxLtkKZMq7WAym4dIKlVgrbVrZZgjTmdb6046629D4/mIYc9xmQ3z7EV7clLpa3Jzf15nMwFz9OwqCd5onJyq44FZxDbrzSKqOPWlW6uVH8aLxq14J1ZxAtqzDNKpNXmmXUXKxTgXBHA4y+Ji5ISzGTFHnULFGrR1gqqXQzRRA1lxloHfbmrhnS+eqbaCWkHIxZzcyP0VWOA729SJ/aYx17Ao2wGUjWrmtQGaCuKcX2hmezdkg9ZnLdgxB4NiUdQuBakVn4kuep+/pQw5boD8oVnE38B0682lBpTFWiciYve3WhVZVzMNMaH/ucG6UKW5LvgFjbzccqVOOCkYO6/mrHN8E3E5zOuvBiM+y8qG20tQQlIRXDrnVaLJHpBHBXYtgmGhd2llSDZCiexrv67esz3U6vbJ+BzW9AbDQGNpxNgPU6iIfAdt9mb+/H/J3wGu7La3RcvIYTXm9UkoA+MKe+e2Sghv47ATXaE9TQPS5QowmoztJ3zhciR9Arc9SgcEHORJKWtXgggqMEG6+s0gnnnBVoCG91epyHPveg1AfhsVE/ex/UdzC/Tr13VNR3zz2g/pletywgFisRO+bc/5J68pwyQNIrEZWKVg5xmtMpOal3Mb7tjL39xH7I0/eH13dL+F93izepBv2x1FXp+DShe0/vOU1jWo170MZ7AxbGp/9eAQ4rVjX3OKD/0R6HSfc3bz9/4T+F/Xtw0zf4b0Jw+Qs= \ No newline at end of file diff --git a/docs/architecture.svg b/docs/architecture.svg new file mode 100644 index 0000000..79204e4 --- /dev/null +++ b/docs/architecture.svg @@ -0,0 +1 @@ +
hidden from your package
hidden from your package
your package
your package
Logger
Logger
«interface»
Adapter
«interface»...
Adapter specific
to selected technology
Adapter specific...
Logrus, Zap,
Zerolog etc.
Logrus, Zap,...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/logo.png b/docs/logo.png similarity index 100% rename from logo.png rename to docs/logo.png