| # 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. |