---
slug: "python-create-logger-from-code"
title: "Code for Creating a Logger When Making Python Command Line Tools"
description: "Here is a memo on the code for creating a logger, which is used when making a simple daemon app in Python."
url: "https://www.ytyng.com/en/blog/python-create-logger-from-code"
publish_date: "2022-10-09T02:16:35Z"
created: "2022-10-09T02:16:35Z"
updated: "2026-02-27T03:48:09.310Z"
categories: ["Python"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/5c8ae09be42b4b8b9f8c57dd2abaf81b.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "en"
---

# Code for Creating a Logger When Making Python Command Line Tools

Here is a memo on the code for creating a logger when making a simple daemon application in Python.

```python
import logging

_logger = logging.getLogger('my-application-name')


def _my_procedure(...):
    ...
    _logger.debug(...)
    ...
    


def setup_logger():
    _logger.setLevel(logging.DEBUG)
    _handler = logging.StreamHandler()
    _handler.setFormatter(logging.Formatter(
        '%(asctime)s %(thread)d %(name)s %(levelname)s %(message)s'
    ))
    # When formatting heavily
    # _handler.setFormatter(logging.Formatter(
    #     '%(name)s (%(process)d,%(thread)d) '
    #     '%(levelname)s %(asctime)s '
    #     '[%(module)s.%(funcName)s:%(lineno)d] '
    #     ' %(message)s'
    # ))
    _logger.addHandler(_handler)


if __name__ == '__main__':
    setup_logger()
    ...
```

This code sets up a basic logger for a Python application. The logger is configured to output messages to the console with a specific format and can be further customized if needed.
