Author: tilman
Date: Sat Nov  4 10:50:29 2023
New Revision: 1913576

URL: http://svn.apache.org/viewvc?rev=1913576&view=rev
Log:
PDFBOX-5695: fixed DebugLogAppender not being initialised and runtime 
exceptions in LogDialog, by Axel Howind

Modified:
    
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/DebugLogAppender.java
    
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/LogDialog.java

Modified: 
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/DebugLogAppender.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/DebugLogAppender.java?rev=1913576&r1=1913575&r2=1913576&view=diff
==============================================================================
--- 
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/DebugLogAppender.java
 (original)
+++ 
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/DebugLogAppender.java
 Sat Nov  4 10:50:29 2023
@@ -23,9 +23,14 @@ import org.apache.logging.log4j.core.app
 import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.logging.log4j.core.config.builder.api.*;
 import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
+import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
+import org.apache.logging.log4j.core.config.plugins.PluginElement;
+import org.apache.logging.log4j.core.config.plugins.PluginFactory;
 
 import java.io.Serializable;
 
+@Plugin(name = "DebugLogAppender", category = "Core", elementType = 
"appender", printObject = true)
 public class DebugLogAppender extends AbstractAppender
 {
     protected DebugLogAppender(String name, Filter filter, Layout<? extends 
Serializable> layout,
@@ -34,6 +39,14 @@ public class DebugLogAppender extends Ab
         super(name, filter, layout, ignoreExceptions);
     }
 
+    @PluginFactory
+    public static DebugLogAppender createAppender(@PluginAttribute("name") 
String name,
+            @PluginElement("Filter") Filter filter,
+            @PluginElement("Layout") Layout<? extends Serializable> layout,
+            @PluginAttribute("ignoreExceptions") boolean ignoreExceptions) {
+        return new DebugLogAppender(name, filter, layout, ignoreExceptions);
+    }
+
     @Override
     public void append(LogEvent event)
     {
@@ -53,7 +66,7 @@ public class DebugLogAppender extends Ab
                 "%d [%t] %-5level: %msg%n%throwable"));
         builder.add(appenderBuilder);
 
-        appenderBuilder = builder.newAppender("Custom", 
"org.package.CustomAppender");
+        appenderBuilder = builder.newAppender("Custom", "DebugLogAppender");
         
appenderBuilder.add(builder.newLayout("PatternLayout").addAttribute("pattern",
                 "%d [%t] %-5level: %msg%n%throwable"));
         builder.add(appenderBuilder);

Modified: 
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/LogDialog.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/LogDialog.java?rev=1913576&r1=1913575&r2=1913576&view=diff
==============================================================================
--- 
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/LogDialog.java
 (original)
+++ 
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/LogDialog.java
 Sat Nov  4 10:50:29 2023
@@ -79,37 +79,37 @@ public class LogDialog extends JDialog
         SimpleAttributeSet levelStyle = new SimpleAttributeSet();
         switch (level)
         {
-            case "fatal":
+            case "FATAL":
                 levelText = "Fatal";
                 StyleConstants.setForeground(levelStyle, Color.WHITE);
                 StyleConstants.setBackground(levelStyle, Color.BLACK);
                 fatalCount++;
                 break;
-            case "error":
+            case "ERROR":
                 levelText = "Error";
                 StyleConstants.setForeground(levelStyle, new Color(0xFF291F));
                 StyleConstants.setBackground(levelStyle, new Color(0xFFF0F0));
                 errorCount++;
                 break;
-            case "warn":
+            case "WARN":
                 levelText = "Warning";
                 StyleConstants.setForeground(levelStyle, new Color(0x614201));
                 StyleConstants.setBackground(levelStyle, new Color(0xFFFCE5));
                 warnCount++;
                 break;
-            case "info":
+            case "INFO":
                 levelText = "Info";
                 StyleConstants.setForeground(levelStyle, new Color(0x203261));
                 StyleConstants.setBackground(levelStyle, new Color(0xE2E8FF));
                 otherCount++;
                 break;
-            case "debug":
+            case "DEBUG":
                 levelText = "Debug";
                 StyleConstants.setForeground(levelStyle, new Color(0x32612E));
                 StyleConstants.setBackground(levelStyle, new Color(0xF4FFEC));
                 otherCount++;
                 break;
-            case "trace":
+            case "TRACE":
                 levelText = "Trace";
                 StyleConstants.setForeground(levelStyle, new Color(0x64438D));
                 StyleConstants.setBackground(levelStyle, new Color(0xFEF3FF));


Reply via email to