日志输出:控制台和log文件输出日志

self_log.py 中

import os
import logging
import time

# 如果日志文件夹不存在,则创建
log_dir = "log"  # 日志存放文件夹名称
log_path = os.getcwd() + os.sep + log_dir
if not os.path.isdir(log_path):
    os.makedirs(log_path)

# 设置logging
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
main_log_handler = logging.FileHandler(
    log_dir + "/email_main_%s.log" % time.strftime("%Y-%m-%d_%H-%M-%S", time.localtime(time.time())), mode="w+",
    encoding="utf-8")
main_log_handler.setLevel(logging.DEBUG)
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
main_log_handler.setFormatter(formatter)
logger.addHandler(main_log_handler)

# 控制台打印输出日志
console = logging.StreamHandler()  # 定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象
console.setLevel(logging.INFO)  # 设置要打印日志的等级,低于这一等级,不会打印
formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
console.setFormatter(formatter)
logging.getLogger(‘‘).addHandler(console)

  

其他文件要使用时,在其他文件中导入:如

import self_log
from self_log import logger

  

原文地址:https://www.cnblogs.com/andy9468/p/9676782.html

时间: 2024-11-09 04:36:58

日志输出:控制台和log文件输出日志的相关文章

使用slf4j + log4j.properties 输出日志 到 控制台 和 执行文件

-- log4j.properties内容如下,将该文件放入 src/main/resource下,如下图: ### 设置rootLogger : 将debug及其更高level的日志输出到 控制台 和 指定路径文件 ### log4j.rootLogger = debug,stdout,file ### 输出信息到控制台 ### ### 控制台输出 log4j.appender.stdout = org.apache.log4j.ConsoleAppender ### 默认是system.ou

Java输出控制台信息到文件中

import java.io.File; import java.io.IOException; import java.io.FileOutputStream; import java.io.PrintStream; public class B { public static void main(String[] args)throws IOException { File f=new File("e://out.txt"); FileOutputStream fileOutput

使用log4net将日志文件输出为csv格式

我们在编写程序时,会在程序运行过程中记录一些日志.log4net作为一款经久耐用的日志组件,值得我们信赖.在中小型公司中,往往没有专业的日志服务器来处理应用程序产生的日志,而格式化不好的日志文件又为上线后日志的统计.分析.查找造成了困难. Excel作为一款常用的办公软件,用来处理一些中小数量级的数据还是游刃有余的.如果log4net输出的日志能够直接导入Excel,那么查询和分析起来岂不是要快很多? 我们有很多方法可以实现这个功能,csv的优势是其文件格式比较简单,可以用任意的文本编辑器打开,

Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法

Log4J日志配置详解 一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders(输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN <

docker log: containerid-json.log 文件disappear,问题排查及解决方案

问题排查: 运行 #docker info 查阅资料,知道了docker的logging driver相关理论:https://docs.docker.com/engine/admin/logging/overview/ 在此之前,这台机器被同事做过重置,所以docker也重新下载并是最新的版本 1.12.6,原来的是1.12.3. 1.12.3上 logging driver的默认是 json-file ,而 1.12.6就是 journald.这就是导致原先日志路径下*-json.log文件

【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动了  springboot服务,容器启动正常,docker exec 也可以正常进入容器内部,但是docker logs 控制台并没有日志打印出来. 同样的,/var/lib/docker/containers目录下的对应容器目录中,也没有对应的 *-json.log日志文件生成. 原因: dock

log4j学习(二)不同类的日志输出到不同的文件

目的:一个应用中有两个不同作用的后台服务,我们需要把他们的日志分开,存放到2个不同的日志文件中. 办法:需要在log4j.properties文件中配置两个不同的logger和对应的appender log4j.logger.logger1=debug,appender1 log4j.appender.appender1=org.apache.log4j.FileAppender log4j.appender.appender1.File=C:/Users/yang/Desktop/testpr

Android学习笔记——log无法输出的解决方法和命令行查看log日志

本人邮箱:[email protected],欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3983936.html. 知识点 1.log无法输出的解决方法 2.通过命令行(command line)查看Android调试的log日志 log无法输出的解决方法 今天调试Android程序,发现Eclipse不输出log日志了.这让我很烦恼,程序调试的log都没法看到了.Google搜索了一些资料.发现stackoverflow上有很

Log4j将不同Package的日志输出到不同的文件

转自:http://www.crazyant.net/1931.html 随着项目规模的越来越大,会不断的引入新的模块,不同的模块都会打印自己的日志,最后就造成日志根本没法查看,比如我自己的项目中,就存在以下这些日志: 接收外界消息的日志.对外发送消息的日志: 后台常驻线程的处理日志: 外部接口访问的参数.返回结果等接口日志: Service访问数据库产生的SQL日志: 这其中,消息日志和后台线程的日志数据量非常庞大,如果所有日志打印在一个文件中,使用tail -f log.log文件,会发现日