Я пишу код для жизни, и иногда мне нужно вести журналы для производства и другие журналы для разработки, особенно когда моя производственная среда находится на моем компьютере для разработки, потому что я дешев.

#!/bin/bash

export PYTHONPATH=/home/raychorn/projects/python-projects/private_vyperlogix_lib3/zips/vyperlogix39.zip:/home/raychorn/projects/python-projects/tweepy-twitter-bot1/.venv391/lib/python3.9/site-packages

. /home/raychorn/projects/python-projects/tweepy-twitter-bot1/.venv391/bin/activate

python /home/raychorn/projects/python-projects/tweepy-twitter-bot1/tweepy-bot1.py "production"

Это быстрый и грязный bash-скрипт, который предоставляет моему коду Python хороший способ узнать, когда он работает в продакшене. Это та самая «производственная» штука, которая находится в командной строке. Это останется, когда этот код попадет в производство и будет направлен туда как можно быстрее.

production_token = 'production'

__production__ = any([arg == production_token for arg in sys.argv])

production_token = production_token if (__production__) else 'development'

base_filename = os.path.splitext(os.path.basename(__file__))[0]

log_filename = '{}{}{}{}{}{}{}_{}.log'.format('logs', os.sep, base_filename, os.sep, production_token, os.sep, base_filename, default_timestamp(datetime.utcnow()))

if not os.path.exists(os.path.dirname(log_filename)):
    os.makedirs(os.path.dirname(log_filename))

if (os.path.exists(log_filename)):
    os.remove(log_filename)

log_format = ('[%(asctime)s] %(levelname)-8s %(name)-12s %(message)s')
logging.basicConfig(
    level=logging.DEBUG,
    format=log_format,
    filename=(log_filename),
)

logger = setup_rotating_file_handler(base_filename, log_filename, (1024*1024*1024), 10)
logger.addHandler(get_stream_handler())

Это код, который настраивает регистратор. Другой набор журналов для производства и другой набор журналов для разработки.

Очень просто.

Если в командной строке есть аргумент, который говорит «производство», то это должно быть производство, иначе нет.

мне нравится легко. Легкие работы. Easy легко разрабатывать и тестировать, и этот просто прост. Easy также мощный, хотите верьте, хотите нет.

Вы можете получить код здесь, в какой-то момент.