平常我们在使用logback作为日志框架的时候,如果我们不指定日志的绝对路径,就会在我们的当前目录(user.dir)下面生成日志文件,平常我们在开发阶段只要制定一个log目录就好了,但是如果在生产环境,如果不是在jar所在的路径启动就会导致生产的文件位置不确定,所以我们可以通过在jar 启动的时候在初始化类的地方制定一个系统变量。然后在logback 的配置文件里面加载这个变量就好。这样无论在哪里启动我们的程序,程序都会在jar 所在的目录生成一个日志目录
private static Logger logger;
static {
String path = Run.class.getProtectionDomain().getCodeSource().getLocation().getPath();
File file = new File(path);
String parent = file.getParent();
System.setProperty("app.dir", parent);