You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ch...@apache.org on 2023/04/04 16:04:00 UTC

[kyuubi] branch branch-1.7 updated: [KYUUBI #4653] [KYUUBI 4650][Improvement] LogDivertAppender supports reading RollingFileAppender pattern

This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a commit to branch branch-1.7
in repository https://gitbox.apache.org/repos/asf/kyuubi.git


The following commit(s) were added to refs/heads/branch-1.7 by this push:
     new 13fa096a6 [KYUUBI #4653] [KYUUBI 4650][Improvement] LogDivertAppender supports reading RollingFileAppender pattern
13fa096a6 is described below

commit 13fa096a66ec667c367300abbb0437636aca521f
Author: senmiaoliu <se...@trip.com>
AuthorDate: Wed Apr 5 00:03:28 2023 +0800

    [KYUUBI #4653] [KYUUBI 4650][Improvement] LogDivertAppender supports reading RollingFileAppender pattern
    
    ### _Why are the changes needed?_
    
    close #4650
    
    ### _How was this patch tested?_
    - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
    
    - [ ] Add screenshots for manual tests if appropriate
    
    - [ ] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request
    
    Closes #4653 from lsm1/features/kyuubi_4650.
    
    Closes #4653
    
    79962aa16 [senmiaoliu] reformat
    e4bb73281 [senmiaoliu] respect user log pattern
    
    Authored-by: senmiaoliu <se...@trip.com>
    Signed-off-by: Cheng Pan <ch...@apache.org>
    (cherry picked from commit 473907c7291baf2a0de7dbc4b9a4a5717f5376cf)
    Signed-off-by: Cheng Pan <ch...@apache.org>
---
 .../org/apache/kyuubi/operation/log/Log4j12DivertAppender.scala     | 2 +-
 .../org/apache/kyuubi/operation/log/Log4j2DivertAppender.scala      | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/Log4j12DivertAppender.scala b/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/Log4j12DivertAppender.scala
index df2ef93d8..6ea853485 100644
--- a/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/Log4j12DivertAppender.scala
+++ b/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/Log4j12DivertAppender.scala
@@ -30,7 +30,7 @@ class Log4j12DivertAppender extends WriterAppender {
 
   final private val lo = Logger.getRootLogger
     .getAllAppenders.asScala
-    .find(_.isInstanceOf[ConsoleAppender])
+    .find(ap => ap.isInstanceOf[ConsoleAppender] || ap.isInstanceOf[RollingFileAppender])
     .map(_.asInstanceOf[Appender].getLayout)
     .getOrElse(new PatternLayout("%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n"))
 
diff --git a/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/Log4j2DivertAppender.scala b/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/Log4j2DivertAppender.scala
index dc4b24a8c..1c6c1dcc6 100644
--- a/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/Log4j2DivertAppender.scala
+++ b/kyuubi-common/src/main/scala/org/apache/kyuubi/operation/log/Log4j2DivertAppender.scala
@@ -24,7 +24,7 @@ import scala.collection.JavaConverters._
 
 import org.apache.logging.log4j.LogManager
 import org.apache.logging.log4j.core.{Filter, LogEvent, StringLayout}
-import org.apache.logging.log4j.core.appender.{AbstractWriterAppender, ConsoleAppender, WriterManager}
+import org.apache.logging.log4j.core.appender.{AbstractWriterAppender, ConsoleAppender, RollingFileAppender, WriterManager}
 import org.apache.logging.log4j.core.filter.AbstractFilter
 import org.apache.logging.log4j.core.layout.PatternLayout
 
@@ -91,7 +91,9 @@ object Log4j2DivertAppender {
   def initLayout(): StringLayout = {
     LogManager.getRootLogger.asInstanceOf[org.apache.logging.log4j.core.Logger]
       .getAppenders.values().asScala
-      .find(ap => ap.isInstanceOf[ConsoleAppender] && ap.getLayout.isInstanceOf[StringLayout])
+      .find(ap =>
+        (ap.isInstanceOf[ConsoleAppender] || ap.isInstanceOf[RollingFileAppender]) &&
+          ap.getLayout.isInstanceOf[StringLayout])
       .map(_.getLayout.asInstanceOf[StringLayout])
       .getOrElse(PatternLayout.newBuilder().withPattern(
         "%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n").build())