Comments (6)
Glad you're finding the payloads logger useful :)
The idea here was that the Entry you pass into the Payload logger already contains the level you want to log as.
Would that be enough?
from go-grpc-middleware.
We're using both the validation and logging packages and they're quite useful, thank you! :)
Note that I first did the change by using the log level of the entry and the tests were throwing panics. Looking into it, it seems that logrus only sets the log level of the entry when you log at least once, and the entry defaults to loglevel.Panic (link1, link2).
Because of the panics, I instead use the entry's logger level.
To test logrus default levels:
fmt.Println(logrus.NewEntry(logrus.StandardLogger()).Level) //Prints panic
fmt.Println(logrus.NewEntry(logrus.StandardLogger()).Logger.Level) // Prints info
from go-grpc-middleware.
Just a question though, the logger's level usually refers to the minimum level that we allow to print logs, whereas the payload logger level is the level we are printing the logs. Could this cause some conceptual confusion to users of the package?
from go-grpc-middleware.
I'm just wondering whether this could be solved with one solution like #89, and make that extend to the payload logging.
from go-grpc-middleware.
I suspect that we may want to use a PayloadOptions type (feel it would be poor to overload the Options to include modifications to the Payload interceptors) -- let me know if you agree.
Solution #89 is interesting but in our case we just want a default log level, similar to what is provided by grpc_logrus.WithLevels.
I won't have time in the near future to do a PR, but if we agree on the approach I should be able to get to it eventually.
from go-grpc-middleware.
This is pretty old and we know have v2
code with different structure. Let us know if this is still important, we can reopen.
from go-grpc-middleware.
Related Issues (20)
- With HOT 1
- Logging interceptor does not correctly log client calls sent from a server HOT 4
- Support for connect go HOT 5
- "make test" and "make lint" ignore failures
- Support for WithSubsystem() HOT 5
- [retry-middleware] Stream is finished when retry timeout ends HOT 2
- Support loggging grpc status details HOT 1
- Add source and target endpoint as label for all client/server grpc metrics HOT 2
- Support ignore logging for v2(already attached PR) HOT 3
- Prometheus metrics label value inconsistency between Go and Java HOT 3
- [logging] disable option does not work with request/response fields HOT 6
- go-grpc-middleware/providers/openmetrics/v2 v2.0.0-rc.3 dependency of go-grpc-middleware/v2 v2.0.1 broken HOT 8
- Q: Logger migration HOT 2
- Support extensibility of retry condition
- [feat]: logging should loging grpc request msg HOT 1
- Example will log only first field HOT 3
- Add Capability to Override Base Timeout for Specific API HOT 1
- Use retry hooks for adding retry metrics
- logging.InjectFields does not work. HOT 1
- Use of golang.org/x/net/trace prevents dead code elimination HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-grpc-middleware.