How To Write Logs To A File With Python?

Better Stack Team
Updated on October 5, 2023

If you are new to logging in Python, please feel free to start with our Introduction to Python logging to get started smoothly. Otherwise, here is how to write logs to a file in Python:

Using Basic Configuration

You can use basic config. If you configure the attribute filename, logs will be automatically saved to the file you specify. You can also configure the attribute filemode. Setting the value to w will overwrite the file after every entry.

 
import logging

logging.basicConfig(filename="logs.log", filemode="w", format="%(name)s → %(levelname)s: %(message)s")

logging.warning("warning")

OUTPUT
root → WARNING: warning

Using Provided Classes

You can also use the provided classes - loggers and handlers:

 
logger = logging.getLogger(__name__)
FileOutputHandler = logging.FileHandler('logs.log')

logger.addHandler(FileOutputHandler)

logger.warning("Warning.")

You will create a logger and a handler. When creating a handler, assign the class FileHandler and a file name as an attribute. Then set the handler to a logger:

Output
Warning.

If you would like to have more options when it comes to logging your apps, have a look at our Guide to logging with Loguru, which is the most popular third-party logging framework for Python.

Make your mark

Join the writer's program

Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.

Write for us
Writer of the month
Marin Bezhanov
Marin is a software engineer and architect with a broad range of experience working...
Build on top of Better Stack

Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email.

community@betterstack.com

or submit a pull request and help us build better products for everyone.

See the full list of amazing projects on github