この方法でログ ファイルを作成します。
global logger
logger = logging.getLogger("plus_dig_cname")
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler( fdoc_log + "/plus_dig_cname.log" )
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
plus_dig_cname.log のサイズが 300MB を超える場合は、シェル スクリプトで処理します。主なプロセスは次のとおりです。
mv $LOG_DIR/$1 $LOG_DIR/$1.bk
[ $? -ne 0 ] && return 1
touch $LOG_DIR/$1
[ $? -ne 0 ] && return 1
chmod 666 $LOG_DIR/$1
[ $? -ne 0 ] && return 1
それをmvして、新しいものに触れてください。
問題は、ロガーが plus_dig_cname.log のファイルに何も書き込めないことです。ロギングが機能しません。
たぶん、次の方法で解決できます。
with open( "plus_dig_cname.log", "w" ):
pass
この方法で、Python で新しいログ ファイルを取得できます。しかし、私はBashで新しいログファイルを取得したい.
では、なぜ「mv touch chmod」の後にロギングが機能しないのでしょうか?
ありがとうございました