我使用的是运行24/7的python 2.7脚本,每次执行循环时,我都希望记录模块生成不同的日志文件。每个文件都有时间戳有文件名以避免混淆。
到目前为止我得到了:
def main():
while True:
datetimenow = datetime.datetime.now().strftime("%Y-%m-%d-%H:%M:%S")
logging.basicConfig(format='%(asctime)s %(levelname)-8s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S', filename="logs/" + datetimenow + '.log',
level=logging.INFO)
logging.getLogger().addHandler(logging.StreamHandler())
# ... start of action
if __name__ == "__main__":
main()
这会生成一个文件,当循环再次启动时,它不会关闭并打开一个新文件。
此外,似乎控制台输出是双重打印的,因为每行输出到控制台两次。
要解决这些问题的想法吗?
答案 0 :(得分:0)
好的,我通过删除basicConfig片段并构建两个处理程序来实现它,一个在循环内部,用于具有不同时间戳的文件和一个用于控制台的类。关键是在循环结束时删除处理程序,然后再次使用不同的日期添加处理程序。这是完整的例子:
var inputChanged = false;
$(".test").on("change", function(){
inputChanged = true;
});
$(".test").on("blur", function(){
var flag=true;
setTimeout(function(){
// Check if one input is focussed 10 ms after that blur.
$(".test").each(function(){
if( $(this).is(":focus") ){
flag = false;
}
});
// If no input focussed and at least one input changed.
if(flag && inputChanged){
$(".test").css({"background-color":"red"});
}
},10);
});
睡眠(5)用于测试目的,并且它不会太快。