1# Log Levels
2
3This document describes the different log levels supported by the grpc-go
4library, and under what conditions they should be used.
5
6### Info
7
8Info messages are for informational purposes and may aid in the debugging of
9applications or the gRPC library.
10
11Examples:
12- The name resolver received an update.
13- The balancer updated its picker.
14- Significant gRPC state is changing.
15
16At verbosity of 0 (the default), any single info message should not be output
17more than once every 5 minutes under normal operation.
18
19### Warning
20
21Warning messages indicate problems that are non-fatal for the application, but
22could lead to unexpected behavior or subsequent errors.
23
24Examples:
25- Resolver could not resolve target name.
26- Error received while connecting to a server.
27- Lost or corrupt connection with remote endpoint.
28
29### Error
30
31Error messages represent errors in the usage of gRPC that cannot be returned to
32the application as errors, or internal gRPC-Go errors that are recoverable.
33
34Internal errors are detected during gRPC tests and will result in test failures.
35
36Examples:
37- Invalid arguments passed to a function that cannot return an error.
38- An internal error that cannot be returned or would be inappropriate to return
39  to the user.
40
41### Fatal
42
43Fatal errors are severe internal errors that are unrecoverable.  These lead
44directly to panics, and are avoided as much as possible.
45
46Example:
47- Internal invariant was violated.
48- User attempted an action that cannot return an error gracefully, but would
49  lead to an invalid state if performed.
50