0
アプリケーションフレームワークに実装するカスタムロギングモジュールを作成しています。私はunittest
モジュールでPyCharmを使用し、テストランナーとしてnosetestsを使用しています。nosetestsとログパッケージを使用してログ情報をファイルに保存する方法
ここでは簡単なテストケースですが、私が望むように出力をファイル/tmp/test.log
に保存しません。
import unittest
import logging
class Logger_class____test_cases(unittest.TestCase):
def test_log_file_basics(self):
# set up logging to file - see previous section for more details
logging.basicConfig(level=logging.DEBUG,
filename='/tmp/test.log')
# define a Handler which writes INFO messages or higher to the sys.stderr
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# set a format which is simpler for console use
formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
# tell the handler to use this format
console.setFormatter(formatter)
# add the handler to the root logger
logging.getLogger('').addHandler(console)
# Now, we can log to the root logger, or any other logger. First the root...
logging.info('Jackdaws love my big sphinx of quartz.')
# Now, define a couple of other loggers which might represent areas in your
# application:
logger1 = logging.getLogger('myapp.area1')
logger2 = logging.getLogger('myapp.area2')
logger1.debug('Quick zephyrs blow, vexing daft Jim.')
logger1.info('How quickly daft jumping zebras vex.')
logger2.warning('Jail zesty vixen who grabbed pay from quack.')
logger2.error('The five boxing wizards jump quickly.')
ログ出力をファイルに書き込むにはどうすればよいですか? stdout
とstderr
をキャプチャしているnosetestsと関係があるようですが、わかりません。
Python logging cookbookからコードを取得しました。