| # Log Levels | |
| This document describes the different log levels supported by the grpc-go | |
| library, and under what conditions they should be used. | |
| ### Info | |
| Info messages are for informational purposes and may aid in the debugging of | |
| applications or the gRPC library. | |
| Examples: | |
| - The name resolver received an update. | |
| - The balancer updated its picker. | |
| - Significant gRPC state is changing. | |
| At verbosity of 0 (the default), any single info message should not be output | |
| more than once every 5 minutes under normal operation. | |
| ### Warning | |
| Warning messages indicate problems that are non-fatal for the application, but | |
| could lead to unexpected behavior or subsequent errors. | |
| Examples: | |
| - Resolver could not resolve target name. | |
| - Error received while connecting to a server. | |
| - Lost or corrupt connection with remote endpoint. | |
| ### Error | |
| Error messages represent errors in the usage of gRPC that cannot be returned to | |
| the application as errors, or internal gRPC-Go errors that are recoverable. | |
| Internal errors are detected during gRPC tests and will result in test failures. | |
| Examples: | |
| - Invalid arguments passed to a function that cannot return an error. | |
| - An internal error that cannot be returned or would be inappropriate to return | |
| to the user. | |
| ### Fatal | |
| Fatal errors are severe internal errors that are unrecoverable. These lead | |
| directly to panics, and are avoided as much as possible. | |
| Example: | |
| - Internal invariant was violated. | |
| - User attempted an action that cannot return an error gracefully, but would | |
| lead to an invalid state if performed. |