What is an idiomatic way to perform logging in Go?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Create a file that declares a global variable logger. Then, use the idiomatic init() function of Go to initialize the variable on startup.
logger.go:
example.go:
This method offers the benefit that you can use a single logger implementation that can be configured from a single file.
EDIT: ThomasKappler pointed out that if you are only using a single global logger, you can use the log package’s inbuilt logger and configure it with SetFlags. The only difference is you must be more explicit and import the log package.