8. Stream and File Logging Handler attached to Flask
Stream and File Logging in Flask
Setting Up Logging in Flask
from flask import Flask
import logging
from logging.handlers import RotatingFileHandler
app = Flask(__name__)
# Configure stream handler for console output
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
))
# Configure file handler for file output
file_handler = RotatingFileHandler('app.log', maxBytes=10000, backupCount=3)
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
))
# Add handlers to the Flask app's logger
app.logger.addHandler(stream_handler)
app.logger.addHandler(file_handler)
@app.route('/')
def hello():
app.logger.info('Hello endpoint was reached')
return 'Hello, World!'
@app.route('/error')
def error():
try:
1 / 0
except Exception as e:
app.logger.error('An error occurred: %s', e)
return 'An error occurred, check logs for details.'
if __name__ == '__main__':
app.run(debug=True)Explanation
Running the Application
Benefits
Last updated