使用Logback日志保存到相对路径的操作
作者:缄默大叔 发布时间:2021-10-11 16:42:30
说明
在使用Logback中需要保存输出日志,但是却在保存的时候路径出现问题
项目背景
1、Win7
2、Java Web + Tomcat 7.0(在D盘目录下)
3、Logback 1.1.7
案例一
Logback.xml文件配置
<!-- 路径名称 -->
<property name="log.base" value="logs" />
<!-- 保存的文件名 -->
<property name="log.fileName" value="log" />
注意:value=“logs”
如果是以这种方式配置,那么日志文件则保存到在项目启动的目录下,
即 D:\tomcat7.0\bin\logs\log.txt
案例二
Logback.xml文件配置
<!-- 路径名称 -->
<property name="log.base" value="/logs" />
<!-- 保存的文件名 -->
<property name="log.fileName" value="log" />
注意:value=“/logs”
如果是以这种方式配置,那么日志文件则保存到系统目录下,
即 D:\logs\log.txt
案例三
Logback.xml文件配置
<!-- 路径名称 -->
<property name="log.base" value="../logs" />
<!-- 保存的文件名 -->
<property name="log.fileName" value="log" />
注意:value=“../logs”
如果是以这种方式配置,那么日志文件则保存到系统目录下,
即 D:\tomcat7.0\logs\log.txt
总结
文件相对保存路径设置可分以下三种:
1. value=“logs” – 表示保存到程序运行目录,在tomcat中为bin目录
2. value=“/logs” – 表示保存到系统目录
3. value=“../logs” – 表示保存到程序运行目录的父目录
补充知识:logback-spring.xml中三种相对路径生成的日志文件的位置
logback-spring.xml中关于路径配置的三种写法:
写法1:<property name="log.path" value="logs" />
写法2:<property name="log.path" value="/logs" />
写法3:<property name="log.path" value="../logs" />
项目(路径D:\workspace\Test)启动的三种场景:
场景1:项目所在workspace在D盘,直接从eclipse中启动
场景2:打成jar包放在桌面的test文件夹下,用bat文件(java -jar Test.jar)启动
场景3:jar文件放在centOS的/test目录下,用sh文件(nohup java -jar Test.jar &)启动
场景1 | 场景2 | 场景3 | |
写法1 | D:\workspace\Test\logs\{name} | C:\Users\{user}\Desktop\logs\{name} | /test/logs/{name} |
写法2 | D:\logs\{name} | C:\logs\{name} | /logs/{name} |
写法3 | D:\workspace\logs\{name} | C:\Users\{user}\logs\{name} | /logs/{name} |
注:路径中的{user}为C盘中当前用户目录名称,{name}为配置文件中的${log.name}即日志文件名称
来源:https://blog.csdn.net/yy_wg/article/details/54847833


猜你喜欢
- 前篇回顾:Spring源码解析容器初始化构造方法在上一篇文章中,我们介绍完了AnnotationConfigApplicationConte
- 开发android的时候,尽管手机已经root但是DDMS中还是没有data/data路径怎么办?可以用cmd命令提示符为逐个文件夹设置权限
- 1. 什么是JvmJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来
- 自定义View,1. 自定义一个Runnable线程TouchEventCountThread , 用来统计500ms内的点击次
- 一、Java 8 基本 Base64 基本的加
- 前言一个说难不难,说简单竟看不出来是哪里问题的一个bug。是的 可能自己能力和经验尚浅无法识别,下面你们能否用火眼金睛一眼让bug原形毕露(
- 从概念上看,值类型直接存储其值,而引用类型存储对其值的引用。这两种类型存储在内存的不同地方。在C#中,我们必须在设计类型的时候就决定类型实例
- Java时间格式转换大全import java.text.*;import java.util.Calendar;public class
- 基本概念servlet 关系servlet 和 servletconfig 是一对一的关系;servletconfig 作用它存储 web.
- 问题:1.线程 wait()方法使用有什么前提?2. 多线程之间如何进行通信?3. Java 中 notify 和 notifyAll 有什
- OkHttp(GitHub:https://github.com/square/okhttp) 的 Interceptor 就如同名称「拦截
- 第1部分 HashMap介绍HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。HashMap
- 在android平台上的app,在主页面时经常会遇到“再按一次退出app”的功能,避免只按一下返回键就退出app提升体验优化。1、这个功能需
- Android 资源 id详解我们平时获取资源是通过 findViewById 方法进行的,比如我们常在onCreate方法中使用这样的语句
- 添加POM依赖:<!-- spring-boot-监控--><dependency> <group
- 本文实例讲述了Android编程实现WebView全屏播放的方法。分享给大家供大家参考,具体如下:最近因为项目要用webview加载html
- 本文实例为大家分享了java实现简单斗地主的具体代码,供大家参考,具体内容如下第一种方法 /** * @param args */ /**
- Android移动开发实现简单计算器功能,供大家参考,具体内容如下前言android 开发小实验android 移动开发实现 简易计算器功能
- 本文实例为大家分享了Android内存中存储用户名和密码的方法,供大家参考,具体内容如下首先是配置文件:<LinearLayout x
- service有两种类型:本地服务(Local Service):用于应用程序内部远程服务(Remote Sercie):用于android