java项目打包成可执行jar用log4j将日志写在jar所在目录操作

开发一个demo时想将日志输出到最终打包的jar所在目录,从网上学习实验整理之后的配置如下,

log4j.properties

log4j.rootLogger = INFO,console,logFile

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=INFO
log4j.appender.console.ImmediateFlush=true
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n

log4j.appender.logFile=org.apache.log4j.FileAppender
log4j.appender.logFile.ImmediateFlush=true
log4j.appender.logFile.Append=false
log4j.appender.logFile.Encoding=UTF-8
log4j.appender.logFile.File=jarDemo.log
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n

Main.java

private static Logger logger = LoggerFactory.getLogger(Main.class);

 static {
  String path = new File("").getAbsolutePath();

  FileAppender appender = (FileAppender) org.apache.log4j.Logger.getRootLogger().getAppender("logFile");
  appender.setFile(path + File.separator + "jarDemo.log");
 }

最终打包成jar执行时,将会在jar文件所在目录生产一个jarDemo.log的日志文件,如果时用idea运行,这个日志文件会在源码所在项目的根目录。

补充知识:springboot工程打成jar包后运行时,读取外部的配置文件

我们在使用“package spring-boot:repackage”命令,将工程打包成jar包之后,在部署到服务器时,有些配置需要修改,尤其是部署不同的环境时,像数据库连接等参数都是需要修改的,为了不是每个服务器上都重新打包,就需要在jar包外部放置配置文件,jar包运行时优先读取外部的配置文件,以windows系统下为例,在目录“D:\package”目录下运行,

具体方法如下:

在D:\package目录下新建lib目录,将打好的jar包放进去

在D:\package目录下,将配置文件放进去,例如application.properties

在D:\package目录下创建run.bat,内容如下:

java -jar -Dfile.encoding=UTF-8 lib/xxx.jar com.xxx.App

双击run.bat运行

原理说明:

springboot 程序会从下面这些路径来加载application.properties 配置文件(优先级按前后顺序)

jar包同级目录下的/config目录

jar包同级目录

classpath里的/config目录

classpath 同级目录

以上这篇java项目打包成可执行jar用log4j将日志写在jar所在目录操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java启动jar包将日志打印到文本的简单操作

    启动命令: java -jar weichi-1.0.0.jar 将命令打印到1.log上 java -jar weichi-1.0.0.jar > 1.log 补充知识:Java中日志的使用(包含指定日志信息输出到指定地方) 一.前言 对于我们开发者而言,日志存在的意义十分重大:本文主要是自己整理了关于日志的一些知识点,希望能帮助到需要的人,也希望各位能指出我的错误. 二.日志的作用 ① 记录运行信息,方便调试 ② 记录错误信息,方便排查错误 ③ 存储运行记录,方便后期的数据分析 三.日志的主

  • 深入浅析java web log4j 配置及在web项目中配置Log4j的技巧

    在上篇文章给大家介绍了Java log4j详细教程,本文给大家介绍java web log4j配置及web项目中配置log4j的技巧.具体详情请看下文吧. 首先给大家提供log4j.jar下载:http://logging.apache.org/log4j/1.2/download.html 一.java web项目使用log4j 1.在web.xml文件中添加 <!-- 配置log4j --> <context-param> <param-name>webAppRoo

  • log4j的使用详细解析

    1 Log4j配置说明 1.1 配置文件Log4j可以通过java程序动态设置,该方式明显缺点是:如果需要修改日志输出级别等信息,则必须修改java文件,然后重新编译,很是麻烦: log4j也可以通过配置文件的方式进行设置,目前支持两种格式的配置文件: •xml文件•properties文件(推荐)下面是一个log4j配置文件的完整内容: 复制代码 代码如下: log4j.rootCategory=INFO, stdoutlog4j.rootLogger=info, stdout ### std

  • Java log4j详细教程

    一:Log4j入门简介学习 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码. 此外,通过Log4j其他语言接口,您可以在C.C++..Net.PL/SQL程序中

  • 将Java项目打包成可执行的jar包

    一.通过 eclipse 自带打包 测试项目: Main.java package com.bug; import org.junit.Test; public class Main { public static void main(String[] args) { test(); } @Test public static void test() { System.out.println("HelloWorld"); System.out.println("HelloWo

  • java项目打包成可执行jar用log4j将日志写在jar所在目录操作

    开发一个demo时想将日志输出到最终打包的jar所在目录,从网上学习实验整理之后的配置如下, log4j.properties log4j.rootLogger = INFO,console,logFile log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Threshold=INFO log4j.appender.console.ImmediateFlush=true log4j.app

  • 将java项目打包成exe可执行文件的完整步骤

    目录 如何使用exe4j把jar打包成exe文件 一.将java程序打包成jar包 二.将打包后的jar包打包成exe可执行文件 总结 如何使用exe4j把jar打包成exe文件 最近,做了几个javafx的项目,想要把jar包打成exe的可执行软件,下面时我使用exe4j打包的方法 一.将java程序打包成jar包 1. Flie —> Project Structure (或者Ctrl+Shift+Alt+S) 2. Artifacts 设置 3. 选择要打包的项目,选择要执行的 main

  • Maven项目打包成可执行Jar文件步骤解析

    在使用Maven完成项目以后,如果是需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单.我们可以通过插件完成这项工作,使用assembly插件.具体使用方式如下: 1.在项目中加入插件的依赖: <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2&l

  • Python项目打包成exe文件

    目录 前言 环境依赖 项目打包 总结 前言 之前有人私信我,他写了一个在终端交互的小程序,希望可以不在IDE的终端显示,而是独立一个窗口进行交互.其实只要把项目打包成exe执行文件,就可以在执行的时候在cmd独立一个窗口了. 如果python项目打包exe呢?下面按照步骤讲解一下. 环境依赖 安装pyinstaller. pip install pyinstaller -i https://pypi.douban.com/simple 项目打包 项目部分代码 先看一下项目在终端执行的效果. 使用

  • 把Java程序打包成jar文件包并执行的方法

    本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: 1.在项目上,右键,选择Export. 2.进入到下图界面,选择Java 下面的JAR file 3.选择项目,确认必要的文件是否选中,选择保存jar文件包的路径,如下图 4.完成步骤3之后,点击Next,进入如下图界面: 5.直接点Next,进入下面的界面

  • 详解Java Project项目打包成jar,并生成exe文件

    初衷: 工作中写一些辅助工作的小工具时,将其打成exe,方便使用 准备工作: Eclipse,jdk,net.sf.fjep.fatjar_0.0.32.jar,exe4j.exe 1 将项目打包成jar文件: 1.1 用Eclpise的Export功能生成jar(单纯生成jar包时推荐) 目录结构 右击项目,选择Export 只留java文件 默认next到finish,有两种处理方式 方式一:自动生成MANIFEST.MF(默认的) 方式二:自己写MANIFEST.MF(可以写一些自己想要的

  • AndroidStudio项目打包成jar的简单方法

    首先备注一下 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件). 什么是AAR,与JAR区别 *.jar:只包含了class文件与清单文件,不包含资源文件,如图片等所有res中的文件. *.aar:包含所有资源,class以及res资源文件全部包含 Android Studio 如何打JAR包 在eclipse中我们知道如何将一个项目导出为jar包,供

  • 详解eclipse将项目打包成jar文件的两种方法及问题解决方法

    第一种:利用eclipse中自带的export功能 第一种方法分两种情况先来看第一种情况:没有引用外部jar的项目打包 步骤一:右键点击项目选择导出(export),选择java>jar文件(不是选择可运行jar文件) 步骤二:选择你要导出的项目以及文件,指定文件导出路径.连续点击两个下一步后到第四步. 步骤三:选择主类. 按照以上步骤即可完成对一个不引用外部jar项目的打包. 第二种情况:没有引用外部jar的项目打包 当我们引用了外部jar后,使用eclipse自带的export打包略显繁琐.

  • IDEA 将 SpringBoot 项目打包成jar的方法

    新建SpringBoot项目:IDEA 创建 SpringBoot 项目 一.打包配置 1.File -> Project Structure 2.Project Structure 3.设置启动类及META-INF 根据 modules 创建 jar.如图所示,选择项目,入口类等.最后一项 META-INF 默认放到 src\main\java 目录里,如果使用默认值,没有进行其他配置,生成的 jar 有可能不会包含 META-INF 目录,导致运行 jar 出错,正确的是将 META-INF

随机推荐