Я пишу код для жизни, и иногда мне нужно вести журналы для производства и другие журналы для разработки, особенно когда моя производственная среда находится на моем компьютере для разработки, потому что я дешев.
#!/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 также мощный, хотите верьте, хотите нет.
Вы можете получить код здесь, в какой-то момент.