diff --git a/huaheng-wms-core/src/main/java/org/jeecg/utils/CustomLogContextListener.java b/huaheng-wms-core/src/main/java/org/jeecg/utils/CustomLogContextListener.java
new file mode 100644
index 0000000..46735d8
--- /dev/null
+++ b/huaheng-wms-core/src/main/java/org/jeecg/utils/CustomLogContextListener.java
@@ -0,0 +1,67 @@
+package org.jeecg.utils;
+
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.Logger;
+import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.spi.LoggerContextListener;
+import ch.qos.logback.core.spi.ContextAwareBase;
+import ch.qos.logback.core.spi.LifeCycle;
+import ch.qos.logback.core.Context;
+
+/**
+ * @version      1.0
+ * @class:       CustomLogContextListener
+ * @author:      carlo
+ * @mail:        carlo_cwh@qq.com
+ * @date:        2021/8/25 10:01
+ * @description: 定义logback 日志监听器,指定日志文件存放目录
+ */
+public class CustomLogContextListener extends ContextAwareBase implements LoggerContextListener, LifeCycle {
+
+    /** 存储日志路径标识 */
+    public static final String LOG_PAHT_KEY = "LOG_PATH";
+
+    @Override
+    public boolean isResetResistant() {
+        return false;
+    }
+
+    @Override
+    public void onStart(LoggerContext loggerContext) {
+
+    }
+
+    @Override
+    public void onReset(LoggerContext loggerContext) {
+
+    }
+
+    @Override
+    public void onStop(LoggerContext loggerContext) {
+
+    }
+
+    @Override
+    public void onLevelChange(Logger logger, Level level) {
+
+    }
+
+    @Override
+    public void start() {
+        // "user.dir"是指用户当前工作目录
+        String s = System.getProperty("user.dir");
+        System.setProperty(LOG_PAHT_KEY, s);
+        Context context = getContext();
+        context.putProperty(LOG_PAHT_KEY, s);
+    }
+
+    @Override
+    public void stop() {
+
+    }
+
+    @Override
+    public boolean isStarted() {
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/huaheng-wms-core/src/main/resources/logback-spring.xml b/huaheng-wms-core/src/main/resources/logback-spring.xml
index 1a93234..428525f 100644
--- a/huaheng-wms-core/src/main/resources/logback-spring.xml
+++ b/huaheng-wms-core/src/main/resources/logback-spring.xml
@@ -1,14 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="false">
+
+    <!-- 监听器,指定日志文件存放目录 -->
+    <contextListener class="org.jeecg.utils.CustomLogContextListener" />
+
     <!--定义日志文件的存储地址 -->
-    <property name="LOG_HOME" value="../logs"/>
+    <property name="LOG_HOME" value="${LOG_PATH}/logs" />
 
-    <!--<property name="COLOR_PATTERN" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta( %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''})- %gray(%msg%xEx%n)" />-->
+    <!--<property name="COLOR_PATTERN" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta( 
+        %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''})- %gray(%msg%xEx%n)" /> -->
     <!-- 控制台输出 -->
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>-->
+            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L 
+                - %msg%n</pattern> -->
             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n</pattern>
         </encoder>
     </appender>
@@ -31,7 +36,7 @@
     <!-- 生成 error html格式日志开始 -->
     <appender name="HTML" class="ch.qos.logback.core.FileAppender">
         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <!--设置日志级别,过滤掉info日志,只输入error日志-->
+            <!--设置日志级别,过滤掉info日志,只输入error日志 -->
             <level>ERROR</level>
         </filter>
         <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
@@ -61,17 +66,17 @@
     <!-- 每天生成一个html格式的日志结束 -->
 
     <!--myibatis log configure -->
-    <logger name="com.apache.ibatis" level="TRACE"/>
-    <logger name="java.sql.Connection" level="DEBUG"/>
-    <logger name="java.sql.Statement" level="DEBUG"/>
-    <logger name="java.sql.PreparedStatement" level="DEBUG"/>
+    <logger name="com.apache.ibatis" level="TRACE" />
+    <logger name="java.sql.Connection" level="DEBUG" />
+    <logger name="java.sql.Statement" level="DEBUG" />
+    <logger name="java.sql.PreparedStatement" level="DEBUG" />
 
     <!-- 日志输出级别 -->
     <root level="INFO">
-        <appender-ref ref="STDOUT"/>
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="HTML"/>
-        <appender-ref ref="FILE_HTML"/>
+        <appender-ref ref="STDOUT" />
+        <appender-ref ref="FILE" />
+        <appender-ref ref="HTML" />
+        <appender-ref ref="FILE_HTML" />
     </root>
 
 </configuration>