在idea中如何在控制台输出日志?——用log4j

2023-10-31

简单记录下idea中如何配置使得在控制台输出日志

首先做个对比,输出日志和不输出日志有什么区别?

下面的例子是我在学习mybatis中查询数据库时返回的结果

不输出日志的结果显示如下:

输出日志的结果显示如下:

经过对比,是不是在输出结果的同时把日志也给打印出来显示更方便我们调试,在有错误时也能让我们更容易发现并更正错误。

那么,怎么做呢?往下

首先在我们的maven项目下的pom.xml文件添加以下的依赖:

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
            <version>2.10.0</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
        </dependency>

 依赖下好后如下图:

 然后我们在项目的resources目录下新建log4j.properties配置文件:

 配置文件内的内容如下:

### set log levels ###
log4j.rootLogger = debug ,  stdout

### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG ## 输出DEBUG级别以上的日志
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

 这样就好了


补充:(如果在做好上面的配置工作后,运行结果中国还是没有输出日志的话,就把项目中的target文件夹删掉,然后重新编译运行,就可以解决问题了)


另外,控制台输出日志的字体颜色可以自定义,这需要在idea安装下面的插件:

 安装好上图的插件后,打开设置就可以自定义输出日志的文件了

 以上是个人在学习中的一些整理和记录,希望对大家有帮助,如有不对欢迎指正!

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在idea中如何在控制台输出日志?——用log4j 的相关文章

随机推荐

  • IOS-Xcode Compile flags

    flag 功能 fno objc arc 该文件不启用ARC fo objc arc 该文件启用ARC w 去除警告
  • 【google版efficientdet】官方版efficientdet训练自己的数据集,终于训练成功了

    看全网还没有一篇攻略 本文是第一个 有心人当点赞下 有问题可以下方留言 互相交流 如转载请注明出处 不枉解决各种各样的bug 环境 v100 cuda10 1 tensorflow2 1 0 python3 7 7 只保证这个版本是可行的
  • NUC980开源项目5-安装repo

    上面是我的微信和QQ群 欢迎新朋友的加入 项目码云地址 国内下载速度快 https gitee com jun626 nuc980 open source project 项目github地址 https github com Jun117
  • Pandas 报错 TypeError: ‘Series‘ objects are mutable, thus they cannot be hashed

    一 需求 根据原始 CSV 文件的列 A 的值 添加一列 B 二 尝试 1 1 将 A 列与 B 列对应的值写入字典 dict A 列为 key B 列为 value 2 将 CSV 文件处理为 DataFrame 3 import pan
  • Python入门02:详细来了解一下Requests库

    那个叫做 Urllib 的库让我们的 python 假装是浏览器 接下来我们要来玩一个新的库 这个库的名称叫做 Requests 这个库比 urllib 可是要牛逼一丢丢的 毕竟 Requests 是在 urllib 的基础上搞出来的 通过
  • 个人笔记随记——在CSDN写随记原因,部分是为了自己复习,查看。

    在CSDN写随记原因 部分是为了自己复习 查看 部分原因是用来分享经验 大家共同进步 之前我的几个电脑里面有个自己的个人数据库 所以笔记都在那里记录 因为现在除了码字 经常不携带电脑 导致笔记不能随时观看 所以现在即在CSDN开了个人博客
  • C++前置声明用法

    前置声明的目的是避免在某个 h文件中include其他头文件 取而代之的是用class struct 声明 类的前置声明就是告诉编译器有这么一个类 它的名字是XXX 甚至不需要知道它具有哪些成员 注意 这里只是声明类 没有分配空间 实例化成
  • kubernetes结合portworx

    参考网址 https docs portworx com scheduler kubernetes install html https docs portworx com scheduler kubernetes support html
  • IDEA配置JDBC

    IDEA配置JDBC 驱动下载 MySQL 首先进入MySQL官网 进入downloads 选择页面最下方 MySQL Community GPL Downloads 选择Connector J link 选择plantform indep
  • 『网络安全』蜜罐到蜜网入门指南(二)蜜罐的起源、作用及分类

    原创不易 点个赞呗 如果喜欢 欢迎随意赞赏 前言 大家好 网络安全 蜜罐到蜜网入门指南 进入第二篇 在第一篇 我们由网络安全入手 由浅入深 引出蜜罐概念 从这一篇开始 我们将主要围绕蜜罐 honeypot 密网 honeynet 继续编写后
  • 前端生成PDF文件实现方案

    一 技术选型 1 html转换成canvas后生成图片导出pdf 本文选用 html转canvas插件 html2canvas是一款将HTML代码转换成Canvas的插件 canvas生成pdf jsPDF是一个使用Javascript语言
  • LeetCode专题:栈和队列(持续更新,已更17题)

    目录 LeetCode150 逆波兰表达式求值 问题描述 代码分析 LeetCode225 用队列实现栈 问题描述 代码分析 LeetCode232 用栈实现队列 问题描述 代码分析 O n 解法 均摊 O 1 解法 关于 均摊复杂度 的说
  • 136. Single Number

    class Solution public int singleNumber vector
  • 用border渐变色实现UI 标题头等高短竖线

    现在的UI 越来越喜欢给标题前面加上短竖线 大家通常的方法 一个是画div图形 用position 方式来定位 一个是用 伪类来给前面增加给元素 实现短竖线 今天在这里实现无dom 的第三种方式 border渐变色 废话不多说 用用到的有
  • 程序员视角m1 Macbook air使用指南和指令备忘录

    m1 Mac使用指南指令备忘录 硬件外设 外接显示器HiDpi homebrew 必备网站 软件推荐 Parallels Desktop Silicon Bob IINA iterm2远程 mysql和redis启动 OhMyZsh设置 磁
  • 1016 部分A+B (15 分)- PAT乙级真题

    题滴链接https pintia cn problem sets 994805260223102976 problems 994805306310115328 1016 部分A B 15 分 正整数 A 的 D A 为 1 位整数 部分 定
  • 实现分页展示

    当数据量较多时 用户需要拖动页面才可以浏览更多消息 分页显示的步骤 思路 确定每页显示的数据量 确定分页显示所需的总页面 编写SQL查询语句 实现数据查询 在JSP页面中进行分页显示设置 一 计算显示总页数 1 select count 1
  • ES6代码转为ES5代码的在线转换工具以及运行工具

    学习es6是一个很有意思的过程 里面新增的语法及语法糖都能大大减少我们的代码量 但有些语法是目前浏览器无法支持的 所以我们需要转换一下 为了方便学习以及测试 下面推荐两款使用的es6在线转换工具 1 Babeljs 在线转换地址 2 es6
  • 神经网络学习小记录70——Keras 使用Google Colab进行深度学习

    神经网络学习小记录70 Keras 使用Google Colab进行深度学习 注意事项 学习前言 什么是Google Colab Colab官网 利用Colab进行训练 一 数据集与预训练权重的上传 1 数据集的上传 2 预训练权重的上传
  • 在idea中如何在控制台输出日志?——用log4j

    简单记录下idea中如何配置使得在控制台输出日志 首先做个对比 输出日志和不输出日志有什么区别 下面的例子是我在学习mybatis中查询数据库时返回的结果 不输出日志的结果显示如下 输出日志的结果显示如下 经过对比 是不是在输出结果的同时把