Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextParagraph.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextParagraph.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextParagraph.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextParagraph.java
 Sun Feb 21 20:57:25 2021
@@ -17,6 +17,7 @@
 
 package org.apache.poi.hslf.usermodel;
 
+import static org.apache.logging.log4j.util.Unbox.box;
 import static org.apache.poi.hslf.record.RecordTypes.OutlineTextRefAtom;
 
 import java.awt.Color;
@@ -28,6 +29,8 @@ import java.util.List;
 import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.common.usermodel.fonts.FontGroup;
 import org.apache.poi.common.usermodel.fonts.FontInfo;
 import org.apache.poi.hslf.exceptions.HSLFException;
@@ -48,6 +51,7 @@ import org.apache.poi.hslf.record.Intera
 import org.apache.poi.hslf.record.MasterTextPropAtom;
 import org.apache.poi.hslf.record.OutlineTextRefAtom;
 import org.apache.poi.hslf.record.PPDrawing;
+import org.apache.poi.hslf.record.Record;
 import org.apache.poi.hslf.record.RecordContainer;
 import org.apache.poi.hslf.record.RecordTypes;
 import org.apache.poi.hslf.record.RoundTripHFPlaceholder12;
@@ -70,8 +74,6 @@ import org.apache.poi.sl.usermodel.TabSt
 import org.apache.poi.sl.usermodel.TabStop.TabStopType;
 import org.apache.poi.sl.usermodel.TextParagraph;
 import org.apache.poi.sl.usermodel.TextShape.TextPlaceholder;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.StringUtil;
 import org.apache.poi.util.Units;
 
@@ -82,7 +84,7 @@ import org.apache.poi.util.Units;
  */
 
 public final class HSLFTextParagraph implements 
TextParagraph<HSLFShape,HSLFTextParagraph,HSLFTextRun> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFTextParagraph.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFTextParagraph.class);
 
     /**
      * How to align the text
@@ -258,7 +260,7 @@ public final class HSLFTextParagraph imp
     /**
      * Returns the type of the text, from the TextHeaderAtom.
      * Possible values can be seen from TextHeaderAtom
-     * @see org.apache.poi.hslf.record.TextHeaderAtom
+     * @see TextHeaderAtom
      */
     public int getRunType() {
         return (_headerAtom != null) ? _headerAtom.getTextType() : -1;
@@ -286,7 +288,7 @@ public final class HSLFTextParagraph imp
         _ruler = getTextRuler();
         if (_ruler == null) {
             _ruler = TextRulerAtom.getParagraphInstance();
-            org.apache.poi.hslf.record.Record childAfter = _byteAtom;
+            Record childAfter = _byteAtom;
             if (childAfter == null) {
                 childAfter = _charAtom;
             }
@@ -304,37 +306,37 @@ public final class HSLFTextParagraph imp
      *
      * @return text run records
      */
-    public org.apache.poi.hslf.record.Record[] getRecords() {
-        org.apache.poi.hslf.record.Record[] r = 
_headerAtom.getParentRecord().getChildRecords();
+    public Record[] getRecords() {
+        Record[] r = _headerAtom.getParentRecord().getChildRecords();
         return getRecords(r, new int[] { 0 }, _headerAtom);
     }
 
-    private static org.apache.poi.hslf.record.Record[] 
getRecords(org.apache.poi.hslf.record.Record[] records, int[] startIdx, 
TextHeaderAtom headerAtom) {
+    private static Record[] getRecords(Record[] records, int[] startIdx, 
TextHeaderAtom headerAtom) {
         if (records == null) {
             throw new NullPointerException("records need to be set.");
         }
 
         for (; startIdx[0] < records.length; startIdx[0]++) {
-            org.apache.poi.hslf.record.Record r = records[startIdx[0]];
+            Record r = records[startIdx[0]];
             if (r instanceof TextHeaderAtom && (headerAtom == null || r == 
headerAtom)) {
                 break;
             }
         }
 
         if (startIdx[0] >= records.length) {
-            LOG.log(POILogger.INFO, "header atom wasn't found - container 
might contain only an OutlineTextRefAtom");
-            return new org.apache.poi.hslf.record.Record[0];
+            LOG.atInfo().log("header atom wasn't found - container might 
contain only an OutlineTextRefAtom");
+            return new Record[0];
         }
 
         int length;
         for (length = 1; startIdx[0] + length < records.length; length++) {
-            org.apache.poi.hslf.record.Record r = records[startIdx[0]+length];
+            Record r = records[startIdx[0]+length];
             if (r instanceof TextHeaderAtom || r instanceof SlidePersistAtom) {
                 break;
             }
         }
 
-        org.apache.poi.hslf.record.Record[] result = 
Arrays.copyOfRange(records, startIdx[0], startIdx[0]+length, 
org.apache.poi.hslf.record.Record[].class);
+        Record[] result = Arrays.copyOfRange(records, startIdx[0], 
startIdx[0]+length, Record[].class);
         startIdx[0] += length;
 
         return result;
@@ -884,7 +886,7 @@ public final class HSLFTextParagraph imp
         } else {
             master = sheet.getMasterSheet();
             if (master == null) {
-                LOG.log(POILogger.WARN, "MasterSheet is not available");
+                LOG.atWarn().log("MasterSheet is not available");
                 return null;
             }
         }
@@ -970,7 +972,7 @@ public final class HSLFTextParagraph imp
     private static StyleTextPropAtom findStyleAtomPresent(TextHeaderAtom 
header, int textLen) {
         boolean afterHeader = false;
         StyleTextPropAtom style = null;
-        for (org.apache.poi.hslf.record.Record record : 
header.getParentRecord().getChildRecords()) {
+        for (Record record : header.getParentRecord().getChildRecords()) {
             long rt = record.getRecordType();
             if (afterHeader && rt == RecordTypes.TextHeaderAtom.typeID) {
                 // already on the next header, quit searching
@@ -984,7 +986,7 @@ public final class HSLFTextParagraph imp
         }
 
         if (style == null) {
-            LOG.log(POILogger.INFO, "styles atom doesn't exist. Creating dummy 
record for later saving.");
+            LOG.atInfo().log("styles atom doesn't exist. Creating dummy record 
for later saving.");
             style = new StyleTextPropAtom((textLen < 0) ? 1 : textLen);
         } else {
             if (textLen >= 0) {
@@ -1027,7 +1029,7 @@ public final class HSLFTextParagraph imp
         StyleTextPropAtom styleAtom = findStyleAtomPresent(headerAtom, 
rawText.length());
 
         // Store in the appropriate record
-        org.apache.poi.hslf.record.Record oldRecord = null, newRecord;
+        Record oldRecord = null, newRecord;
         if (isUnicode) {
             if (byteAtom != null || charAtom == null) {
                 oldRecord = byteAtom;
@@ -1048,10 +1050,10 @@ public final class HSLFTextParagraph imp
         assert (newRecord != null);
 
         RecordContainer _txtbox = headerAtom.getParentRecord();
-        org.apache.poi.hslf.record.Record[] cr = _txtbox.getChildRecords();
+        Record[] cr = _txtbox.getChildRecords();
         int /* headerIdx = -1, */ textIdx = -1, styleIdx = -1;
         for (int i = 0; i < cr.length; i++) {
-            org.apache.poi.hslf.record.Record r = cr[i];
+            Record r = cr[i];
             if (r == headerAtom) {
                 // headerIdx = i;
             } else if (r == oldRecord || r == newRecord) {
@@ -1137,7 +1139,7 @@ public final class HSLFTextParagraph imp
 
         // If TextSpecInfoAtom is present, we must update the text size in it,
         // otherwise the ppt will be corrupted
-        for (org.apache.poi.hslf.record.Record r : 
paragraphs.get(0).getRecords()) {
+        for (Record r : paragraphs.get(0).getRecords()) {
             if (r instanceof TextSpecInfoAtom) {
                 ((TextSpecInfoAtom) r).setParentSize(rawText.length() + 1);
                 break;
@@ -1149,7 +1151,7 @@ public final class HSLFTextParagraph imp
         TextHeaderAtom headerAtom = paragraphs.get(0)._headerAtom;
         RecordContainer _txtbox = headerAtom.getParentRecord();
         // remove existing hyperlink records
-        for (org.apache.poi.hslf.record.Record r : _txtbox.getChildRecords()) {
+        for (Record r : _txtbox.getChildRecords()) {
             if (r instanceof InteractiveInfo || r instanceof 
TxInteractiveInfoAtom) {
                 _txtbox.removeChild(r);
             }
@@ -1395,7 +1397,7 @@ public final class HSLFTextParagraph imp
                 }
             }
             if (rv == null || rv.isEmpty()) {
-                LOG.log(POILogger.WARN, "text run not found for 
OutlineTextRefAtom.TextIndex=" + idx);
+                LOG.atWarn().log("text run not found for 
OutlineTextRefAtom.TextIndex={}", box(idx));
             }
         } else {
             if (sheet != null) {
@@ -1441,7 +1443,7 @@ public final class HSLFTextParagraph imp
      *
      * @param records the records to build from
      */
-    protected static List<List<HSLFTextParagraph>> 
findTextParagraphs(org.apache.poi.hslf.record.Record[] records) {
+    protected static List<List<HSLFTextParagraph>> findTextParagraphs(Record[] 
records) {
         List<List<HSLFTextParagraph>> paragraphCollection = new ArrayList<>();
 
         int[] recordIdx = { 0 };
@@ -1453,7 +1455,7 @@ public final class HSLFTextParagraph imp
             TextRulerAtom ruler = null;
             MasterTextPropAtom indents = null;
 
-            for (org.apache.poi.hslf.record.Record r : getRecords(records, 
recordIdx, null)) {
+            for (Record r : getRecords(records, recordIdx, null)) {
                 long rt = r.getRecordType();
                 if (RecordTypes.TextHeaderAtom.typeID == rt) {
                     header = (TextHeaderAtom) r;
@@ -1481,7 +1483,7 @@ public final class HSLFTextParagraph imp
             if (tbytes == null && tchars == null) {
                 tbytes = new TextBytesAtom();
                 // don't add record yet - set it in storeText
-                LOG.log(POILogger.INFO, "bytes nor chars atom doesn't exist. 
Creating dummy record for later saving.");
+                LOG.atInfo().log("bytes nor chars atom doesn't exist. Creating 
dummy record for later saving.");
             }
 
             String rawText = (tchars != null) ? tchars.getText() : 
tbytes.getText();
@@ -1510,7 +1512,7 @@ public final class HSLFTextParagraph imp
         }
 
         if (paragraphCollection.isEmpty()) {
-            LOG.log(POILogger.DEBUG, "No text records found.");
+            LOG.atDebug().log("No text records found.");
         }
 
         return paragraphCollection;

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextRun.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextRun.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextRun.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextRun.java 
Sun Feb 21 20:57:25 2021
@@ -20,6 +20,8 @@ package org.apache.poi.hslf.usermodel;
 import java.awt.Color;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.common.usermodel.fonts.FontGroup;
 import org.apache.poi.common.usermodel.fonts.FontInfo;
 import org.apache.poi.hslf.exceptions.HSLFException;
@@ -36,8 +38,6 @@ import org.apache.poi.sl.usermodel.Place
 import org.apache.poi.sl.usermodel.TextParagraph;
 import org.apache.poi.sl.usermodel.TextRun;
 import org.apache.poi.sl.usermodel.TextShape;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 
 /**
@@ -46,7 +46,7 @@ import org.apache.poi.util.POILogger;
  */
 @SuppressWarnings({"WeakerAccess", "Duplicates", "unused"})
 public final class HSLFTextRun implements TextRun {
-       private static final POILogger LOG = 
POILogFactory.getLogger(HSLFTextRun.class);
+       private static final Logger LOG = 
LogManager.getLogger(HSLFTextRun.class);
 
        /** The TextRun we belong to */
        private HSLFTextParagraph parentParagraph;
@@ -147,13 +147,13 @@ public final class HSLFTextRun implement
         final int txtype = parentParagraph.getRunType();
         final HSLFSheet sheet = parentParagraph.getSheet();
         if (sheet == null) {
-            LOG.log(POILogger.ERROR, "Sheet is not available");
+            LOG.atError().log("Sheet is not available");
             return null;
         }
 
         final HSLFMasterSheet master = sheet.getMasterSheet();
         if (master == null) {
-            LOG.log(POILogger.WARN, "MasterSheet is not available");
+            LOG.atWarn().log("MasterSheet is not available");
             return null;
         }
 
@@ -414,7 +414,7 @@ public final class HSLFTextRun implement
         * Sets color of the text, as a int bgr.
         * (PowerPoint stores as BlueGreenRed, not the more
         *  usual RedGreenBlue)
-        * @see java.awt.Color
+        * @see Color
         */
        public void setFontColor(int bgr) {
                setCharTextPropVal("font.color", bgr);

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextShape.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextShape.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextShape.java 
(original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFTextShape.java 
Sun Feb 21 20:57:25 2021
@@ -29,6 +29,8 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.ddf.AbstractEscherOptRecord;
 import org.apache.poi.ddf.EscherContainerRecord;
 import org.apache.poi.ddf.EscherPropertyTypes;
@@ -54,8 +56,6 @@ import org.apache.poi.sl.usermodel.TextP
 import org.apache.poi.sl.usermodel.TextRun;
 import org.apache.poi.sl.usermodel.TextShape;
 import org.apache.poi.sl.usermodel.VerticalAlignment;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.Units;
 
 /**
@@ -63,7 +63,7 @@ import org.apache.poi.util.Units;
  */
 public abstract class HSLFTextShape extends HSLFSimpleShape
 implements TextShape<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFTextShape.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFTextShape.class);
 
     /**
      * How to anchor the text
@@ -324,7 +324,7 @@ implements TextShape<HSLFShape,HSLFTextP
     public Rectangle2D resizeToFitText(Graphics2D graphics) {
         Rectangle2D anchor = getAnchor();
         if(anchor.getWidth() == 0.) {
-            LOG.log(POILogger.WARN, "Width of shape wasn't set. Defaulting to 
200px");
+            LOG.atWarn().log("Width of shape wasn't set. Defaulting to 200px");
             anchor.setRect(anchor.getX(), anchor.getY(), 200., 
anchor.getHeight());
             setAnchor(anchor);
         }
@@ -341,7 +341,7 @@ implements TextShape<HSLFShape,HSLFTextP
     /**
     * Returns the type of the text, from the TextHeaderAtom.
     * Possible values can be seen from TextHeaderAtom
-    * @see org.apache.poi.hslf.record.TextHeaderAtom
+    * @see TextHeaderAtom
     */
     public int getRunType() {
         getEscherTextboxWrapper();
@@ -356,7 +356,7 @@ implements TextShape<HSLFShape,HSLFTextP
     * Changes the type of the text. Values should be taken
     *  from TextHeaderAtom. No checking is done to ensure you
     *  set this to a valid value!
-    * @see org.apache.poi.hslf.record.TextHeaderAtom
+    * @see TextHeaderAtom
     */
     public void setRunType(int type) {
         getEscherTextboxWrapper();
@@ -641,7 +641,7 @@ implements TextShape<HSLFShape,HSLFTextP
             }
 
             if (_paragraphs.isEmpty()) {
-                LOG.log(POILogger.WARN, "TextRecord didn't contained any text 
lines");
+                LOG.atWarn().log("TextRecord didn't contained any text lines");
             }
         }
 

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/MAPIMessage.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/MAPIMessage.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/MAPIMessage.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/MAPIMessage.java Sun Feb 
21 20:57:25 2021
@@ -28,6 +28,8 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.POIReadOnlyDocument;
 import org.apache.poi.hmef.attribute.MAPIRtfAttribute;
 import org.apache.poi.hsmf.datatypes.AttachmentChunks;
@@ -51,8 +53,8 @@ import org.apache.poi.poifs.filesystem.D
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.util.CodePageUtil;
 import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * Reads an Outlook MSG File in and provides hooks into its data structure.
@@ -79,9 +81,9 @@ public class MAPIMessage extends POIRead
    }
 
    /** For logging problems we spot with the file */
-   private static final POILogger LOG = 
POILogFactory.getLogger(MAPIMessage.class);
+   private static final Logger LOG = LogManager.getLogger(MAPIMessage.class);
 
-   private Chunks mainChunks;
+    private Chunks mainChunks;
    private NameIdChunks nameIdChunks;
    private RecipientChunks[] recipientChunks;
    private AttachmentChunks[] attachmentChunks;
@@ -221,8 +223,7 @@ public class MAPIMessage extends POIRead
                byte[] htmlBodyBinary = htmlBodyBinaryChunk.getValue();
                return new String(htmlBodyBinary, encoding);
             } catch (UnsupportedEncodingException e) {
-               LOG.log(POILogger.WARN, "HTML body binary: Invalid codepage ID 
", codepage, " set for the message via ",
-                  MAPIProperty.INTERNET_CPID, ", ignoring");
+                LOG.atWarn().log("HTML body binary: Invalid codepage ID {} set 
for the message via {}, ignoring", box(codepage), MAPIProperty.INTERNET_CPID);
             }
          }
          return htmlBodyBinaryChunk.getAs7bitString();
@@ -418,8 +419,7 @@ public class MAPIMessage extends POIRead
          String encoding = CodePageUtil.codepageToEncoding(codepage, true);
          generalcodepage = encoding;
        } catch (UnsupportedEncodingException e) {
-         LOG.log(POILogger.WARN, "Invalid codepage ID ", codepage, " set for 
the message via ",
-             MAPIProperty.MESSAGE_CODEPAGE, ", ignoring");
+           LOG.atWarn().log("Invalid codepage ID {} set for the message via 
{}, ignoring", box(codepage), MAPIProperty.MESSAGE_CODEPAGE);
        }
      }
      //
@@ -436,8 +436,7 @@ public class MAPIMessage extends POIRead
              generalcodepage = encoding;
            }
          } catch (UnsupportedEncodingException e) {
-           LOG.log(POILogger.WARN, "Invalid codepage ID ", codepage, "from 
locale ID", lcid, " set for the message via ",
-               MAPIProperty.MESSAGE_LOCALE_ID, ", ignoring");
+             LOG.atWarn().log("Invalid codepage ID {}from locale ID{} set for 
the message via {}, ignoring", box(codepage),box(lcid), 
MAPIProperty.MESSAGE_LOCALE_ID);
          }
        }
      }
@@ -476,8 +475,7 @@ public class MAPIMessage extends POIRead
            bodycodepage = encoding;
          }
        } catch (UnsupportedEncodingException e) {
-         LOG.log(POILogger.WARN, "Invalid codepage ID ", codepage, " set for 
the message via ",
-             MAPIProperty.INTERNET_CPID, ", ignoring");
+           LOG.atWarn().log("Invalid codepage ID {} set for the message via 
{}, ignoring", box(codepage), MAPIProperty.INTERNET_CPID);
        }
      }
      //
@@ -617,8 +615,7 @@ public class MAPIMessage extends POIRead
       } else if (mc.equalsIgnoreCase("IPM.Post")) {
          return MESSAGE_CLASS.POST;
       } else {
-         LOG.log(POILogger.WARN, "I don't recognize message class '", mc, "'. 
",
-                 "Please open an issue on POI's bugzilla");
+          LOG.atWarn().log("I don't recognize message class '{}'. Please open 
an issue on POI's bugzilla", mc);
          return MESSAGE_CLASS.UNKNOWN;
       }
    }

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/AttachmentChunks.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/AttachmentChunks.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/AttachmentChunks.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/AttachmentChunks.java
 Sun Feb 21 20:57:25 2021
@@ -30,16 +30,16 @@ import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hsmf.MAPIMessage;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * Collection of convenience chunks for standard parts of the MSG file
  * attachment.
  */
 public class AttachmentChunks implements ChunkGroup {
-    private static final POILogger LOG = 
POILogFactory.getLogger(AttachmentChunks.class);
+    private static final Logger LOG = 
LogManager.getLogger(AttachmentChunks.class);
     public static final String PREFIX = "__attach_version1.0_#";
 
     private ByteChunk attachData;
@@ -187,7 +187,7 @@ public class AttachmentChunks implements
             } else if (chunk instanceof DirectoryChunk) {
                 attachmentDirectory = (DirectoryChunk) chunk;
             } else {
-                LOG.log(POILogger.ERROR, "Unexpected data chunk of type ", 
chunk.getEntryName());
+                LOG.atError().log("Unexpected data chunk of type {}", 
chunk.getEntryName());
             }
         } else if (chunkId == ATTACH_EXTENSION.id) {
             attachExtension = (StringChunk) chunk;
@@ -202,7 +202,7 @@ public class AttachmentChunks implements
         } else if (chunkId == ATTACH_CONTENT_ID.id) {
             attachContentId = (StringChunk) chunk;
         } else {
-            LOG.log(POILogger.WARN, "Currently unsupported attachment chunk 
property will be ignored. ", chunk.getEntryName());
+            LOG.atWarn().log("Currently unsupported attachment chunk property 
will be ignored. {}", chunk.getEntryName());
         }
 
         // And add to the main list

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/Chunks.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/Chunks.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/Chunks.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/Chunks.java Sun 
Feb 21 20:57:25 2021
@@ -23,8 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * Collection of convenience chunks for standard parts of the MSG file.
@@ -37,7 +37,7 @@ import org.apache.poi.util.POILogger;
  * TODO Deprecate the public Chunks in favour of Property Lookups
  */
 public final class Chunks implements ChunkGroupWithProperties {
-    private static final POILogger LOG = POILogFactory.getLogger(Chunks.class);
+    private static final Logger LOG = LogManager.getLogger(Chunks.class);
 
     /**
      * Holds all the chunks that were found, indexed by their MAPIProperty.
@@ -262,8 +262,7 @@ public final class Chunks implements Chu
         if (messageProperties != null) {
             messageProperties.matchVariableSizedPropertiesToChunks();
         } else {
-            LOG.log(POILogger.WARN,
-                    "Message didn't contain a root list of properties!");
+            LOG.atWarn().log("Message didn't contain a root list of 
properties!");
         }
     }
 }

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/MessageSubmissionChunk.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/MessageSubmissionChunk.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/MessageSubmissionChunk.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/MessageSubmissionChunk.java
 Sun Feb 21 20:57:25 2021
@@ -24,11 +24,11 @@ import java.util.Calendar;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hsmf.datatypes.Types.MAPIType;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * A Chunk that holds the details given back by the server at submission time.
@@ -36,7 +36,7 @@ import org.apache.poi.util.POILogger;
  * used if you want to cancel a message or similar
  */
 public class MessageSubmissionChunk extends Chunk {
-    private static final POILogger LOG = 
POILogFactory.getLogger(MessageSubmissionChunk.class);
+    private static final Logger LOG = 
LogManager.getLogger(MessageSubmissionChunk.class);
     private String rawId;
     private Calendar date;
 
@@ -103,8 +103,7 @@ public class MessageSubmissionChunk exte
                         date.set(Calendar.SECOND, 
Integer.parseInt(m.group(6)));
                         date.clear(Calendar.MILLISECOND);
                     } else {
-                        LOG.log(POILogger.WARN,
-                                "Warning - unable to make sense of date ", 
dateS);
+                        LOG.atWarn().log("Warning - unable to make sense of 
date {}", dateS);
                     }
                 }
             }

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/PropertiesChunk.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/PropertiesChunk.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/PropertiesChunk.java 
(original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/PropertiesChunk.java 
Sun Feb 21 20:57:25 2021
@@ -30,6 +30,8 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hsmf.datatypes.PropertyValue.BooleanPropertyValue;
 import org.apache.poi.hsmf.datatypes.PropertyValue.CurrencyPropertyValue;
 import org.apache.poi.hsmf.datatypes.PropertyValue.DoublePropertyValue;
@@ -44,8 +46,8 @@ import org.apache.poi.poifs.filesystem.D
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndian.BufferUnderrunException;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * <p>
@@ -68,7 +70,7 @@ public abstract class PropertiesChunk ex
     public static final int PROPERTIES_FLAG_WRITEABLE = 4;
 
     /** For logging problems we spot with the file */
-    private static final POILogger LOG = 
POILogFactory.getLogger(PropertiesChunk.class);
+    private static final Logger LOG = 
LogManager.getLogger(PropertiesChunk.class);
 
     /**
      * Holds properties, indexed by type. If a property is multi-valued, or
@@ -176,7 +178,7 @@ public abstract class PropertiesChunk ex
                 if (chunk != null) {
                     cVal.setValue(chunk);
                 } else {
-                    LOG.log(POILogger.WARN, "No chunk found matching Property 
" + cVal);
+                    LOG.atWarn().log("No chunk found matching Property {}", 
cVal);
                 }
             }
         }
@@ -200,9 +202,7 @@ public abstract class PropertiesChunk ex
                     prop = MAPIProperty.createCustom(id, type, "Unknown " + 
id);
                 }
                 if (type == null) {
-                    LOG.log(POILogger.WARN, "Invalid type found, expected ",
-                            prop.usualType, " but got ", typeID,
-                            " for property ", prop);
+                    LOG.atWarn().log("Invalid type found, expected {} but got 
{} for property {}", prop.usualType, box(typeID),prop);
                     going = false;
                     break;
                 }
@@ -220,12 +220,10 @@ public abstract class PropertiesChunk ex
                         // We don't know what this property normally is, but it
                         // has come
                         // through with a valid type, so use that
-                        LOG.log(POILogger.INFO, "Property definition for ", 
prop,
-                            " is missing a type definition, found a value with 
type ", type);
+                        LOG.atInfo().log("Property definition for {} is 
missing a type definition, found a value with type {}", prop, type);
                     } else {
                         // Oh dear, something has gone wrong...
-                        LOG.log(POILogger.WARN, "Type mismatch, expected ",
-                            prop.usualType, " but got ", type, " for property 
", prop);
+                        LOG.atWarn().log("Type mismatch, expected {} but got 
{} for property {}", prop.usualType, type, prop);
                         going = false;
                         break;
                     }
@@ -285,8 +283,7 @@ public abstract class PropertiesChunk ex
                 }
 
                 if (properties.get(prop) != null) {
-                    LOG.log(POILogger.WARN,
-                            "Duplicate values found for " + prop);
+                    LOG.atWarn().log("Duplicate values found for {}", prop);
                 }
                 properties.put(prop, propVal);
             } catch (BufferUnderrunException e) {
@@ -310,7 +307,7 @@ public abstract class PropertiesChunk ex
         baos.close();
 
         // write the header data with the properties declaration
-        
directory.createDocument(org.apache.poi.hsmf.datatypes.PropertiesChunk.NAME,
+        directory.createDocument(PropertiesChunk.NAME,
             new ByteArrayInputStream(baos.toByteArray()));
 
         // write the property values
@@ -319,7 +316,7 @@ public abstract class PropertiesChunk ex
 
     /**
      * Write the nodes for variable-length data. Those properties are returned 
by
-     * {@link #writeProperties(java.io.OutputStream)}.
+     * {@link #writeProperties(OutputStream)}.
      *
      * @param directory
      *        The directory.

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/RecipientChunks.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/RecipientChunks.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/RecipientChunks.java 
(original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/datatypes/RecipientChunks.java 
Sun Feb 21 20:57:25 2021
@@ -24,8 +24,8 @@ import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * Collection of convenience chunks for the Recip(ient) part of an outlook 
file.
@@ -33,7 +33,7 @@ import org.apache.poi.util.POILogger;
  * If a message has multiple recipients, there will be several of these.
  */
 public final class RecipientChunks implements ChunkGroupWithProperties {
-    private static final POILogger LOG = 
POILogFactory.getLogger(RecipientChunks.class);
+    private static final Logger LOG = 
LogManager.getLogger(RecipientChunks.class);
 
     public static final String PREFIX = "__recip_version1.0_#";
 
@@ -88,7 +88,7 @@ public final class RecipientChunks imple
             try {
                 recipientNumber = Integer.parseInt(number, 16);
             } catch (NumberFormatException e) {
-                LOG.log(POILogger.ERROR, "Invalid recipient number in name ", 
name);
+                LOG.atError().log("Invalid recipient number in name {}", name);
             }
         }
     }
@@ -238,7 +238,7 @@ public final class RecipientChunks imple
         if (recipientProperties != null) {
             recipientProperties.matchVariableSizedPropertiesToChunks();
         } else {
-            LOG.log(POILogger.WARN, "Recipeints Chunk didn't contain a list of 
properties!");
+            LOG.atWarn().log("Recipients Chunk didn't contain a list of 
properties!");
         }
     }
 

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/parsers/POIFSChunkParser.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/parsers/POIFSChunkParser.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/parsers/POIFSChunkParser.java 
(original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hsmf/parsers/POIFSChunkParser.java 
Sun Feb 21 20:57:25 2021
@@ -24,6 +24,8 @@ import java.util.Map;
 import java.util.Objects;
 import java.util.TreeMap;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hsmf.datatypes.AttachmentChunks;
 import org.apache.poi.hsmf.datatypes.ByteChunk;
 import org.apache.poi.hsmf.datatypes.ByteChunkDeferred;
@@ -46,8 +48,6 @@ import org.apache.poi.poifs.filesystem.D
 import org.apache.poi.poifs.filesystem.DocumentNode;
 import org.apache.poi.poifs.filesystem.Entry;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * Processes a POIFS of a .msg file into groups of Chunks, such as
@@ -55,7 +55,7 @@ import org.apache.poi.util.POILogger;
  * data and so on.
  */
 public final class POIFSChunkParser {
-    private static final POILogger LOG = 
POILogFactory.getLogger(POIFSChunkParser.class);
+    private static final Logger LOG = 
LogManager.getLogger(POIFSChunkParser.class);
 
     private POIFSChunkParser() {}
 
@@ -149,7 +149,7 @@ public final class POIFSChunkParser {
             try (DocumentInputStream inp = new 
DocumentInputStream((DocumentNode) entry)) {
                 chunk.readValue(inp);
             } catch (IOException e) {
-                LOG.log(POILogger.ERROR, "Error reading from part ", 
entry.getName(), e);
+                LOG.atError().withThrowable(e).log("Error reading from part 
{}", entry.getName());
             }
         }
 
@@ -234,7 +234,7 @@ public final class POIFSChunkParser {
                     return new StringChunk(namePrefix, chunkId, type);
                 }
                 // Type of an unsupported type! Skipping...
-                LOG.log(POILogger.WARN, "UNSUPPORTED PROP TYPE ", entryName);
+                LOG.atWarn().log("UNSUPPORTED PROP TYPE {}", entryName);
                 return null;
             }
         }
@@ -249,7 +249,7 @@ public final class POIFSChunkParser {
             try {
                 multiValueIdx = Long.parseLong(mvidxstr) & 0xFFFFFFFFL;
             } catch (NumberFormatException ignore) {
-                LOG.log(POILogger.WARN, "Can't read multi value idx from entry 
", entry.getName());
+                LOG.atWarn().log("Can't read multi value idx from entry {}", 
entry.getName());
             }
         }
 
@@ -270,7 +270,7 @@ public final class POIFSChunkParser {
                 chunk = new StringChunk(namePrefix, chunkId, type);
             } else {
                 // Type of an unsupported multivalued type! Skipping...
-                LOG.log(POILogger.WARN, "Unsupported multivalued prop type for 
entry ", entry.getName());
+                LOG.atWarn().log("Unsupported multivalued prop type for entry 
{}", entry.getName());
                 return null;
             }
             mc.addChunk((int) multiValueIdx, chunk);

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToFoConverter.java
 Sun Feb 21 20:57:25 2021
@@ -24,6 +24,8 @@ import javax.xml.transform.Transformer;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
@@ -41,8 +43,6 @@ import org.apache.poi.ss.usermodel.CellS
 import org.apache.poi.ss.usermodel.FillPatternType;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.XMLHelper;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -60,7 +60,7 @@ public class ExcelToFoConverter extends
 
     private static final float DPI = 72;
 
-    private static final POILogger LOG = POILogFactory.getLogger( 
ExcelToFoConverter.class );
+    private static final Logger LOG = 
LogManager.getLogger(ExcelToFoConverter.class);
 
     private static final float PAPER_A4_HEIGHT_INCHES = 29.4f / CM_PER_INCH;
 
@@ -232,10 +232,7 @@ public class ExcelToFoConverter extends
                 value = ErrorEval.getText( cell.getErrorCellValue() );
                 break;
             default:
-                LOG.log(
-                        POILogger.WARN,
-                        "Unexpected cell cachedFormulaResultType ("
-                                + cell.getCachedFormulaResultType() + ")" );
+                LOG.atWarn().log("Unexpected cell cachedFormulaResultType 
({})", cell.getCachedFormulaResultType());
                 value = AbstractExcelUtils.EMPTY;
                 break;
             }
@@ -253,8 +250,7 @@ public class ExcelToFoConverter extends
             value = ErrorEval.getText( cell.getErrorCellValue() );
             break;
         default:
-            LOG.log( POILogger.WARN,
-                    "Unexpected cell type (" + cell.getCellType() + ")" );
+            LOG.atWarn().log("Unexpected cell type ({})", cell.getCellType());
             return true;
         }
 

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hssf/converter/ExcelToHtmlConverter.java
 Sun Feb 21 20:57:25 2021
@@ -30,6 +30,8 @@ import javax.xml.transform.Transformer;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
@@ -44,8 +46,6 @@ import org.apache.poi.ss.formula.eval.Er
 import org.apache.poi.ss.usermodel.BorderStyle;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.XMLHelper;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -58,7 +58,7 @@ import org.w3c.dom.Text;
  */
 @Beta
 public class ExcelToHtmlConverter extends AbstractExcelConverter {
-    private static final POILogger LOG = POILogFactory.getLogger( 
ExcelToHtmlConverter.class );
+    private static final Logger LOG = 
LogManager.getLogger(ExcelToHtmlConverter.class);
 
     /**
      * Java main() interface to interact with {@link ExcelToHtmlConverter}
@@ -322,10 +322,7 @@ public class ExcelToHtmlConverter extend
                 value = ErrorEval.getText( cell.getErrorCellValue() );
                 break;
             default:
-                LOG.log(
-                        POILogger.WARN,
-                        "Unexpected cell cachedFormulaResultType ("
-                                + cell.getCachedFormulaResultType() + ")" );
+                LOG.atWarn().log("Unexpected cell cachedFormulaResultType 
({})", cell.getCachedFormulaResultType());
                 value = AbstractExcelUtils.EMPTY;
                 break;
             }
@@ -343,8 +340,7 @@ public class ExcelToHtmlConverter extend
             value = ErrorEval.getText( cell.getErrorCellValue() );
             break;
         default:
-            LOG.log( POILogger.WARN,
-                    "Unexpected cell type (" + cell.getCellType() + ")" );
+            LOG.atWarn().log("Unexpected cell type ({})", cell.getCellType());
             return true;
         }
 

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfBitmapDib.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfBitmapDib.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfBitmapDib.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfBitmapDib.java 
Sun Feb 21 20:57:25 2021
@@ -36,6 +36,8 @@ import java.util.function.Supplier;
 
 import javax.imageio.ImageIO;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.common.usermodel.GenericRecord;
 import org.apache.poi.hwmf.usermodel.HwmfPicture;
 import org.apache.poi.util.GenericRecordJsonWriter;
@@ -43,8 +45,6 @@ import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianConsts;
 import org.apache.poi.util.LittleEndianInputStream;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.RecordFormatException;
 
 /**
@@ -52,7 +52,7 @@ import org.apache.poi.util.RecordFormatE
  */
 public class HwmfBitmapDib implements GenericRecord {
 
-    private static final POILogger LOG = 
POILogFactory.getLogger(HwmfBitmapDib.class);
+    private static final Logger LOG = 
LogManager.getLogger(HwmfBitmapDib.class);
     private static final int BMP_HEADER_SIZE = 14;
     private static final int MAX_RECORD_LENGTH = HwmfPicture.MAX_RECORD_LENGTH;
 
@@ -479,11 +479,11 @@ public class HwmfBitmapDib implements Ge
         try {
             bi = ImageIO.read(getBMPStream());
         } catch (IOException|RuntimeException e) {
-            LOG.log(POILogger.ERROR, "invalid bitmap data - returning 
placeholder image");
+            LOG.atError().log("invalid bitmap data - returning placeholder 
image");
             return getPlaceholder();
         }
 
-        if (foreground != null && background != null && headerBitCount == 
HwmfBitmapDib.BitCount.BI_BITCOUNT_1) {
+        if (foreground != null && background != null && headerBitCount == 
BitCount.BI_BITCOUNT_1) {
             IndexColorModel cmOld = (IndexColorModel)bi.getColorModel();
             int fg = foreground.getRGB();
             int bg = background.getRGB() & (hasAlpha ? 0xFFFFFF : 0xFFFFFFFF);

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfText.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfText.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfText.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/record/HwmfText.java Sun 
Feb 21 20:57:25 2021
@@ -31,6 +31,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.function.Supplier;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.common.usermodel.GenericRecord;
 import org.apache.poi.hwmf.draw.HwmfDrawProperties;
 import org.apache.poi.hwmf.draw.HwmfGraphics;
@@ -44,11 +46,9 @@ import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndianConsts;
 import org.apache.poi.util.LittleEndianInputStream;
 import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 public class HwmfText {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HwmfText.class);
+    private static final Logger LOG = LogManager.getLogger(HwmfText.class);
     private static final int MAX_RECORD_LENGTH = 1_000_000;
 
     /**
@@ -430,13 +430,13 @@ public class HwmfText {
             size += rawTextBytes.length;
 
             if (size >= remainingRecordSize) {
-                LOG.log(POILogger.INFO, "META_EXTTEXTOUT doesn't contain 
character tracking info");
+                LOG.atInfo().log("META_EXTTEXTOUT doesn't contain character 
tracking info");
                 return size;
             }
 
             int dxLen = Math.min(stringLength, 
(remainingRecordSize-size)/LittleEndianConsts.SHORT_SIZE);
             if (dxLen < stringLength) {
-                LOG.log(POILogger.WARN, "META_EXTTEXTOUT tracking info doesn't 
cover all characters");
+                LOG.atWarn().log("META_EXTTEXTOUT tracking info doesn't cover 
all characters");
             }
 
             for (int i=0; i<dxLen; i++) {

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/usermodel/HwmfPicture.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/usermodel/HwmfPicture.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/usermodel/HwmfPicture.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwmf/usermodel/HwmfPicture.java 
Sun Feb 21 20:57:25 2021
@@ -34,6 +34,8 @@ import java.util.Objects;
 import java.util.Spliterator;
 import java.util.function.Supplier;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.common.usermodel.GenericRecord;
 import org.apache.poi.hwmf.draw.HwmfDrawProperties;
 import org.apache.poi.hwmf.draw.HwmfGraphics;
@@ -48,8 +50,6 @@ import org.apache.poi.util.Dimension2DDo
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndianInputStream;
 import org.apache.poi.util.LocaleUtil;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.RecordFormatException;
 import org.apache.poi.util.Units;
 
@@ -57,7 +57,7 @@ public class HwmfPicture implements Iter
     /** Max. record length - processing longer records will throw an exception 
*/
     public static final int MAX_RECORD_LENGTH = 50_000_000;
 
-    private static final POILogger LOG = 
POILogFactory.getLogger(HwmfPicture.class);
+    private static final Logger LOG = LogManager.getLogger(HwmfPicture.class);
 
     final List<HwmfRecord> records = new ArrayList<>();
     final HwmfPlaceableHeader placeableHeader;
@@ -85,7 +85,7 @@ public class HwmfPicture implements Iter
                     recordSize = (int)recordSizeLong;
                     recordFunction = leis.readShort();
                 } catch (Exception e) {
-                    LOG.log(POILogger.ERROR, "unexpected eof - wmf file was 
truncated");
+                    LOG.atError().log("unexpected eof - wmf file was 
truncated");
                     break;
                 }
                 // 4 bytes (recordSize) + 2 bytes (recordFunction)

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFOldDocument.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFOldDocument.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFOldDocument.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/HWPFOldDocument.java Sun 
Feb 21 20:57:25 2021
@@ -21,6 +21,8 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.nio.charset.Charset;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.common.usermodel.fonts.FontCharset;
 import org.apache.poi.hwpf.model.ComplexFileTable;
 import org.apache.poi.hwpf.model.FontTable;
@@ -41,8 +43,6 @@ import org.apache.poi.hwpf.util.DoubleBy
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.NotImplemented;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.StringUtil;
 
 /**
@@ -51,7 +51,7 @@ import org.apache.poi.util.StringUtil;
  */
 public class HWPFOldDocument extends HWPFDocumentCore {
 
-    private static final POILogger LOG = POILogFactory.getLogger( 
HWPFOldDocument.class );
+    private static final Logger LOG = 
LogManager.getLogger(HWPFOldDocument.class);
 
     //arbitrarily selected; may need to increase
     private static final int MAX_RECORD_LENGTH = 10_000_000;
@@ -114,7 +114,7 @@ public class HWPFOldDocument extends HWP
                 //if there was a problem with the guessed charset and the 
length of the
                 //textpiece, back off to win1252. This is effectively what we 
used to do.
                 tp = buildTextPiece(StringUtil.WIN_1252);
-                LOG.log(POILogger.WARN, "Error with "+guessedCharset +". 
Backing off to Windows-1252");
+                LOG.atWarn().log("Error with {}. Backing off to Windows-1252", 
guessedCharset);
             }
             tpt.add(tp);
 
@@ -205,7 +205,7 @@ public class HWPFOldDocument extends HWP
                 return wmfCharset.getCharset();
             }
         }
-        LOG.log(POILogger.WARN, "Couldn't find a defined charset; backing off 
to cp1252");
+        LOG.atWarn().log("Couldn't find a defined charset; backing off to 
cp1252");
         //if all else fails
         return DEFAULT_CHARSET;
     }

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java
 Sun Feb 21 20:57:25 2021
@@ -27,6 +27,8 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.HWPFDocumentCore;
@@ -50,11 +52,11 @@ import org.apache.poi.hwpf.usermodel.Tab
 import org.apache.poi.poifs.filesystem.Entry;
 import org.apache.poi.util.Beta;
 import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
+import static org.apache.logging.log4j.util.Unbox.box;
+
 @Beta
 public abstract class AbstractWordConverter {
     private static class DeadFieldBoundaries {
@@ -115,7 +117,7 @@ public abstract class AbstractWordConver
     private static final int FIELD_HYPERLINK = 88;
 
 
-    private static final POILogger LOG = 
POILogFactory.getLogger(AbstractWordConverter.class);
+    private static final Logger LOG = 
LogManager.getLogger(AbstractWordConverter.class);
 
     private static final Pattern PATTERN_HYPERLINK_EXTERNAL = Pattern
         .compile("^[ \\t\\r\\n]*HYPERLINK \"(.*)\".*$");
@@ -399,10 +401,8 @@ public abstract class AbstractWordConver
 
         if (previous != range.getStartOffset()) {
             if (previous > range.getEndOffset()) {
-                LOG.log(POILogger.WARN, "Latest structure in ", range,
-                    " ended at #", previous, " after range boundaries [",
-                    range.getStartOffset(), "; ", range.getEndOffset(),
-                    ")");
+                LOG.atWarn().log("Latest structure in {} ended at #{} after 
range boundaries [{}; {})",
+                        range, 
box(previous),box(range.getStartOffset()),box(range.getEndOffset()));
                 return true;
             }
 
@@ -595,7 +595,7 @@ public abstract class AbstractWordConver
             debug.append(range.getCharacterRun(i));
             debug.append("\n");
         }
-        LOG.log(POILogger.WARN, debug);
+        LOG.atWarn().log(debug);
 
         Range deadFieldValueSubrage = new Range(range.getCharacterRun(
             separatorMark).getStartOffset() + 1, range.getCharacterRun(
@@ -621,7 +621,7 @@ public abstract class AbstractWordConver
                 processDocumentInformation(summaryInformation);
             }
         } catch (Exception exc) {
-            LOG.log(POILogger.WARN, "Unable to process document summary 
information: ", exc, exc);
+            LOG.atWarn().withThrowable(exc).log("Unable to process document 
summary information");
         }
 
         final Range docRange = wordDocument.getRange();
@@ -656,8 +656,7 @@ public abstract class AbstractWordConver
         OfficeDrawing officeDrawing = doc.getOfficeDrawingsMain()
             .getOfficeDrawingAt(characterRun.getStartOffset());
         if (officeDrawing == null) {
-            LOG.log(POILogger.WARN, "Characters #", characterRun,
-                " references missing drawn object");
+            LOG.atWarn().log("Characters #{} references missing drawn object", 
characterRun);
             return;
         }
 
@@ -715,8 +714,7 @@ public abstract class AbstractWordConver
             }
             case FIELD_EMBEDDED_OBJECT: {
                 if (!field.hasSeparator()) {
-                    LOG.log(POILogger.WARN, parentRange, " contains ", field,
-                        " with 'Embedded Object' but without separator mark");
+                    LOG.atWarn().log("{} contains {} with 'Embedded Object' 
but without separator mark", parentRange, field);
                     return;
                 }
 
@@ -790,7 +788,7 @@ public abstract class AbstractWordConver
             }
         }
 
-        LOG.log(POILogger.WARN, parentRange, " contains ", field, " with 
unsupported type or format");
+        LOG.atWarn().log("{} contains {} with unsupported type or format", 
parentRange, field);
         processCharacters(wordDocument, currentTableLevel,
             field.secondSubrange(parentRange), currentBlock);
     }
@@ -881,14 +879,14 @@ public abstract class AbstractWordConver
         Element block) {
         Entry entry = doc.getObjectsPool().getObjectById("_" + 
characterRun.getPicOffset());
         if (entry == null) {
-            LOG.log(POILogger.WARN, "Referenced OLE2 object '", 
characterRun.getPicOffset(), "' not found in ObjectPool");
+            LOG.atWarn().log("Referenced OLE2 object '{}' not found in 
ObjectPool", box(characterRun.getPicOffset()));
             return false;
         }
 
         try {
             return processOle2(doc, block, entry);
         } catch (Exception exc) {
-            LOG.log(POILogger.WARN, "Unable to convert internal OLE2 object 
'", characterRun.getPicOffset(), "': ", exc, exc);
+            LOG.atWarn().withThrowable(exc).log("Unable to convert internal 
OLE2 object '{}'", box(characterRun.getPicOffset()));
             return false;
         }
     }
@@ -943,7 +941,7 @@ public abstract class AbstractWordConver
                     processParagraph(wordDocument, flow, currentTableLevel, 
paragraph, label);
                     processed = true;
                 } catch (Exception exc) {
-                    LOG.log(POILogger.WARN, "Can't process paragraph as list 
entry, will be processed without list information", exc);
+                    LOG.atWarn().withThrowable(exc).log("Can't process 
paragraph as list entry, will be processed without list information");
                 }
             }
 

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordUtils.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordUtils.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordUtils.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordUtils.java
 Sun Feb 21 20:57:25 2021
@@ -26,6 +26,8 @@ import java.util.Objects;
 import java.util.Set;
 import java.util.TreeSet;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.HWPFDocumentCore;
 import org.apache.poi.hwpf.HWPFOldDocument;
@@ -38,20 +40,20 @@ import org.apache.poi.hwpf.usermodel.Tab
 import org.apache.poi.poifs.filesystem.DirectoryNode;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
+import static org.apache.logging.log4j.util.Unbox.box;
+
 @Beta
 public class AbstractWordUtils
 {
     static final String EMPTY = "";
 
-    private static final POILogger LOG = POILogFactory.getLogger( 
AbstractWordUtils.class );
+    private static final Logger LOG = 
LogManager.getLogger(AbstractWordUtils.class);
 
     public static final float TWIPS_PER_INCH = 1440.0f;
     public static final int TWIPS_PER_PT = 20;
@@ -417,7 +419,7 @@ public class AbstractWordUtils
         case 2057:
             return "en-uk";
         default:
-            LOG.log( POILogger.WARN, "Uknown or unmapped language code: ", 
languageCode);
+            LOG.atWarn().log("Unknown or unmapped language code: {}", 
box(languageCode));
             return EMPTY;
         }
     }
@@ -426,7 +428,7 @@ public class AbstractWordUtils
     {
 
         if ( format != 0 )
-               LOG.log( POILogger.INFO, "NYI: toListItemNumberLabel(): ", 
format );
+               LOG.atInfo().log("NYI: toListItemNumberLabel(): {}", 
box(format));
 
         return String.valueOf( number );
     }

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToFoConverter.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToFoConverter.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToFoConverter.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToFoConverter.java
 Sun Feb 21 20:57:25 2021
@@ -16,6 +16,7 @@
 ==================================================================== */
 package org.apache.poi.hwpf.converter;
 
+import static org.apache.logging.log4j.util.Unbox.box;
 import static org.apache.poi.hwpf.converter.AbstractWordUtils.TWIPS_PER_INCH;
 import static org.apache.poi.hwpf.converter.AbstractWordUtils.isNotEmpty;
 import static org.apache.poi.hwpf.converter.AbstractWordUtils.loadDoc;
@@ -33,6 +34,8 @@ import javax.xml.transform.Transformer;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.HWPFDocumentCore;
@@ -48,8 +51,6 @@ import org.apache.poi.hwpf.usermodel.Tab
 import org.apache.poi.hwpf.usermodel.TableCell;
 import org.apache.poi.hwpf.usermodel.TableRow;
 import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.XMLHelper;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -64,7 +65,7 @@ import org.w3c.dom.Text;
 public class WordToFoConverter extends AbstractWordConverter
 {
 
-    private static final POILogger LOG = POILogFactory.getLogger( 
WordToFoConverter.class );
+    private static final Logger LOG = 
LogManager.getLogger(WordToFoConverter.class);
 
     /**
      * Java main() interface to interact with {@link WordToFoConverter}
@@ -574,11 +575,7 @@ public class WordToFoConverter extends A
         }
         else
         {
-            LOG.log(
-                    POILogger.WARN,
-                    "Table without body starting on offset ",
-                            table.getStartOffset(), " -- ",
-                            table.getEndOffset() );
+            LOG.atWarn().log("Table without body starting on offset {} -- {}", 
box(table.getStartOffset()),box(table.getEndOffset()));
         }
     }
 
@@ -587,8 +584,7 @@ public class WordToFoConverter extends A
         // making sure ID used once
         if ( usedIds.contains( id ) )
         {
-            LOG.log( POILogger.WARN,
-                    "Tried to create element with same ID '", id, "'. Skipped" 
);
+            LOG.atWarn().log("Tried to create element with same ID '{}'. 
Skipped", id);
             return false;
         }
 

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToHtmlConverter.java
 Sun Feb 21 20:57:25 2021
@@ -16,6 +16,7 @@
 ==================================================================== */
 package org.apache.poi.hwpf.converter;
 
+import static org.apache.logging.log4j.util.Unbox.box;
 import static org.apache.poi.hwpf.converter.AbstractWordUtils.TWIPS_PER_INCH;
 
 import java.io.File;
@@ -33,6 +34,8 @@ import javax.xml.transform.TransformerEx
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.HWPFDocumentCore;
@@ -48,8 +51,6 @@ import org.apache.poi.hwpf.usermodel.Tab
 import org.apache.poi.hwpf.usermodel.TableCell;
 import org.apache.poi.hwpf.usermodel.TableRow;
 import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.XMLHelper;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -81,7 +82,7 @@ public class WordToHtmlConverter extends
         }
     }
 
-    private static final POILogger LOG = POILogFactory.getLogger( 
WordToHtmlConverter.class );
+    private static final Logger LOG = 
LogManager.getLogger(WordToHtmlConverter.class);
 
     private final Deque<BlockProperies> blocksProperies = new LinkedList<>();
 
@@ -737,9 +738,7 @@ public class WordToHtmlConverter extends
         }
         else
         {
-            LOG.log( POILogger.WARN, "Table without body starting at [",
-                    Integer.valueOf( table.getStartOffset() ), "; ",
-                    Integer.valueOf( table.getEndOffset() ), ")" );
+            LOG.atWarn().log("Table without body starting at [{}; {})", 
box(table.getStartOffset()),box(table.getEndOffset()));
         }
     }
 

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToTextConverter.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToTextConverter.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToTextConverter.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/converter/WordToTextConverter.java
 Sun Feb 21 20:57:25 2021
@@ -30,6 +30,8 @@ import javax.xml.transform.Transformer;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hpsf.SummaryInformation;
 import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.HWPFDocumentCore;
@@ -46,8 +48,6 @@ import org.apache.poi.hwpf.usermodel.Tab
 import org.apache.poi.poifs.filesystem.DirectoryNode;
 import org.apache.poi.poifs.filesystem.Entry;
 import org.apache.poi.util.Beta;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.XMLHelper;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -55,7 +55,7 @@ import org.w3c.dom.Element;
 @Beta
 public class WordToTextConverter extends AbstractWordConverter
 {
-    private static final POILogger LOG = POILogFactory.getLogger( 
WordToTextConverter.class );
+    private static final Logger LOG = 
LogManager.getLogger(WordToTextConverter.class);
 
     public static String getText( DirectoryNode root ) throws Exception
     {
@@ -351,10 +351,8 @@ public class WordToTextConverter extends
         catch ( Exception exc )
         {
             // no extractor in classpath
-            LOG.log( POILogger.WARN, "There is an OLE object entry '",
-                    entry.getName(),
-                    "', but there is no text extractor for this object type ",
-                    "or text extractor factory is not available: ", "", exc );
+            LOG.atWarn().withThrowable(exc).log("There is an OLE object entry 
'{}', but there is no text " +
+                    "extractor for this object type or text extractor factory 
is not available", entry.getName());
             return false;
         }
 
@@ -370,9 +368,7 @@ public class WordToTextConverter extends
         }
         catch ( Exception exc )
         {
-            LOG.log( POILogger.ERROR,
-                    "Unable to extract text from OLE entry '", entry.getName(),
-                    "': ", exc, exc );
+            LOG.atError().withThrowable(exc).log("Unable to extract text from 
OLE entry '{}'", entry.getName());
             return false;
         }
     }

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/BookmarksTables.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/BookmarksTables.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/BookmarksTables.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/BookmarksTables.java 
Sun Feb 21 20:57:25 2021
@@ -22,15 +22,17 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hwpf.model.types.BKFAbstractType;
 import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 @Internal
 public class BookmarksTables
 {
-    private static final POILogger LOG = POILogFactory.getLogger( 
BookmarksTables.class );
+    private static final Logger LOG = 
LogManager.getLogger(BookmarksTables.class);
 
     private PlexOfCps descriptorsFirst = new PlexOfCps( 4 );
 
@@ -53,8 +55,7 @@ public class BookmarksTables
             GenericPropertyNode endNode = descriptorsLim.getProperty( i );
             if ( startNode.getStart() == endNode.getStart() )
             {
-                LOG.log( POILogger.DEBUG, "Removing bookmark #",
-                        Integer.valueOf( i ), "..." );
+                LOG.atDebug().log("Removing bookmark #{}...", box(i));
                 remove( i );
                 i--;
                 continue;

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/CHPBinTable.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/CHPBinTable.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/CHPBinTable.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/CHPBinTable.java Sun 
Feb 21 20:57:25 2021
@@ -31,6 +31,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hwpf.model.io.HWPFFileSystem;
 import org.apache.poi.hwpf.sprm.SprmBuffer;
 import org.apache.poi.hwpf.sprm.SprmIterator;
@@ -38,8 +40,9 @@ import org.apache.poi.hwpf.sprm.SprmOper
 import org.apache.poi.poifs.common.POIFSConstants;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static java.lang.System.currentTimeMillis;
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * This class holds all of the character formatting properties.
@@ -49,9 +52,9 @@ import org.apache.poi.util.POILogger;
 @Internal
 public class CHPBinTable
 {
-    private static final POILogger LOG = POILogFactory.getLogger( 
CHPBinTable.class );
+    private static final Logger LOG = LogManager.getLogger(CHPBinTable.class);
 
-  /** List of character properties.*/
+    /** List of character properties.*/
   protected List<CHPX> _textRuns = new ArrayList<>();
 
   public CHPBinTable()
@@ -77,7 +80,7 @@ public class CHPBinTable
     public CHPBinTable( byte[] documentStream, byte[] tableStream, int offset,
             int size, CharIndexTranslator translator )
     {
-        long start = System.currentTimeMillis();
+        long start = currentTimeMillis();
         /*
          * Page 35:
          *
@@ -105,20 +108,18 @@ public class CHPBinTable
                     _textRuns.add( chpx );
             }
     }
-        LOG.log( POILogger.DEBUG, "CHPX FKPs loaded in ",
-                Long.valueOf( System.currentTimeMillis() - start ), " ms (",
-                Integer.valueOf( _textRuns.size() ), " elements)" );
+        LOG.atDebug().log("CHPX FKPs loaded in {} ms ({} elements)", 
box(currentTimeMillis() - start),box(_textRuns.size()));
 
         if ( _textRuns.isEmpty() )
         {
-            LOG.log( POILogger.WARN, "CHPX FKPs are empty" );
+            LOG.atWarn().log("CHPX FKPs are empty");
             _textRuns.add( new CHPX( 0, 0, new SprmBuffer( 0 ) ) );
         }
     }
 
     public void rebuild( ComplexFileTable complexFileTable )
     {
-        long start = System.currentTimeMillis();
+        long start = currentTimeMillis();
 
         if ( complexFileTable != null )
         {
@@ -135,8 +136,7 @@ public class CHPBinTable
 
                 if ( igrpprl < 0 || igrpprl >= sprmBuffers.length )
                 {
-                    LOG.log( POILogger.WARN, textPiece
-                            + "'s PRM references to unknown grpprl" );
+                    LOG.atWarn().log("{}'s PRM references to unknown grpprl", 
textPiece);
                     continue;
                 }
 
@@ -162,20 +162,15 @@ public class CHPBinTable
                     _textRuns.add( chpx );
                 }
             }
-            LOG.log( POILogger.DEBUG,
-                    "Merged with CHPX from complex file table in ",
-                    Long.valueOf( System.currentTimeMillis() - start ),
-                    " ms (", Integer.valueOf( _textRuns.size() ),
-                    " elements in total)" );
-            start = System.currentTimeMillis();
+            LOG.atDebug().log("Merged with CHPX from complex file table in {} 
ms ({} elements in total)", box(currentTimeMillis() - 
start),box(_textRuns.size()));
+            start = currentTimeMillis();
         }
 
         List<CHPX> oldChpxSortedByStartPos = new ArrayList<>(_textRuns);
         oldChpxSortedByStartPos.sort(PropertyNode.StartComparator);
 
-        LOG.log( POILogger.DEBUG, "CHPX sorted by start position in ",
-                Long.valueOf( System.currentTimeMillis() - start ), " ms" );
-        start = System.currentTimeMillis();
+        LOG.atDebug().log("CHPX sorted by start position in {} ms", 
box(currentTimeMillis() - start));
+        start = currentTimeMillis();
 
         final Map<CHPX, Integer> chpxToFileOrder = new IdentityHashMap<>();
         {
@@ -195,9 +190,8 @@ public class CHPBinTable
             }
         };
 
-        LOG.log( POILogger.DEBUG, "CHPX's order map created in ",
-                Long.valueOf( System.currentTimeMillis() - start ), " ms" );
-        start = System.currentTimeMillis();
+        LOG.atDebug().log("CHPX's order map created in {} ms", 
box(currentTimeMillis() - start));
+        start = currentTimeMillis();
 
         List<Integer> textRunsBoundariesList;
         {
@@ -213,9 +207,8 @@ public class CHPBinTable
             Collections.sort( textRunsBoundariesList );
         }
 
-        LOG.log( POILogger.DEBUG, "Texts CHPX boundaries collected in ",
-                Long.valueOf( System.currentTimeMillis() - start ), " ms" );
-        start = System.currentTimeMillis();
+        LOG.atDebug().log("Texts CHPX boundaries collected in {} ms", 
box(currentTimeMillis() - start));
+        start = currentTimeMillis();
 
         List<CHPX> newChpxs = new LinkedList<>();
         int lastTextRunStart = 0;
@@ -253,10 +246,7 @@ public class CHPBinTable
 
             if ( chpxs.size() == 0 )
             {
-                LOG.log( POILogger.WARN, "Text piece [",
-                        Integer.valueOf( startInclusive ), "; ",
-                        Integer.valueOf(boundary),
-                        ") has no CHPX. Creating new one." );
+                LOG.atWarn().log("Text piece [{}; {}) has no CHPX. Creating 
new one.", box(startInclusive),box(boundary));
                 // create it manually
                 CHPX chpx = new CHPX( startInclusive, boundary,
                         new SprmBuffer( 0 ) );
@@ -290,10 +280,8 @@ public class CHPBinTable
         }
         this._textRuns = new ArrayList<>(newChpxs);
 
-        LOG.log( POILogger.DEBUG, "CHPX rebuilded in ",
-                Long.valueOf( System.currentTimeMillis() - start ), " ms (",
-                Integer.valueOf( _textRuns.size() ), " elements)" );
-        start = System.currentTimeMillis();
+        LOG.atDebug().log("CHPX rebuilt in {} ms ({} elements)", 
box(currentTimeMillis() - start),box(_textRuns.size()));
+        start = currentTimeMillis();
 
         CHPX previous = null;
         for ( Iterator<CHPX> iterator = _textRuns.iterator(); iterator
@@ -318,9 +306,7 @@ public class CHPBinTable
             previous = current;
         }
 
-        LOG.log( POILogger.DEBUG, "CHPX compacted in ",
-                Long.valueOf( System.currentTimeMillis() - start ), " ms (",
-                Integer.valueOf( _textRuns.size() ), " elements)" );
+        LOG.atDebug().log("CHPX compacted in {} ms ({} elements)", 
box(currentTimeMillis() - start),box(_textRuns.size()));
     }
 
     private static int binarySearch( List<CHPX> chpxs, int startPosition )

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FIBFieldHandler.java 
Sun Feb 21 20:57:25 2021
@@ -24,11 +24,13 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianConsts;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 @Internal
 public final class FIBFieldHandler
@@ -145,7 +147,7 @@ public final class FIBFieldHandler
   public static final int STTBLISTNAMES = 91;
   public static final int STTBFUSSR = 92;
 
-  private static final POILogger log = 
POILogFactory.getLogger(FIBFieldHandler.class);
+  private static final Logger LOGGER = 
LogManager.getLogger(FIBFieldHandler.class);
 
   private static final int FIELD_SIZE = LittleEndianConsts.INT_SIZE * 2;
 
@@ -171,9 +173,7 @@ public final class FIBFieldHandler
         {
           if (dsOffset + dsSize > tableStream.length)
           {
-              log.log(POILogger.WARN, "Unhandled data structure points to 
outside the buffer. ",
-                      "offset = ", dsOffset, ", length = ", dsSize,
-                      ", buffer length = ", tableStream.length);
+            LOGGER.atWarn().log("Unhandled data structure points to outside 
the buffer. offset = {}, length = {}, buffer length = {}", 
box(dsOffset),box(dsSize),box(tableStream.length));
           }
           else
           {

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java
 (original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FileInformationBlock.java
 Sun Feb 21 20:57:25 2021
@@ -24,14 +24,16 @@ import java.lang.reflect.Modifier;
 import java.util.HashSet;
 import java.util.Locale;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hwpf.model.types.FibBaseAbstractType;
 import org.apache.poi.hwpf.model.types.FibRgW97AbstractType;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianConsts;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * <p>The File Information Block (FIB). Holds pointers
@@ -50,7 +52,7 @@ public final class FileInformationBlock
     //arbitrarily selected; may need to increase
     private static final int MAX_RECORD_LENGTH = 100_000;
 
-    private static final POILogger LOG = POILogFactory.getLogger( 
FileInformationBlock.class );
+    private static final Logger LOG = 
LogManager.getLogger(FileInformationBlock.class);
 
     private final FibBase _fibBase;
     private final int _csw;
@@ -175,7 +177,7 @@ public final class FileInformationBlock
             /* The Word spec has a much smaller list of "valid" values
              * to what the large CommonCrawl corpus contains!
              */
-            LOG.log(POILogger.WARN, "Invalid file format version number: ", 
nfib, "(", nfibHex, ")");
+            LOG.atWarn().log("Invalid file format version number: {}({})", 
box(nfib),nfibHex);
         }
     }
 
@@ -186,9 +188,7 @@ public final class FileInformationBlock
         if ( cbRgFcLcb == expectedCbRgFcLcb )
             return;
 
-        LOG.log( POILogger.WARN, "Since FIB.nFib == ", strNFib,
-                " value of FIB.cbRgFcLcb MUST be ", strCbRgFcLcb + ", not 0x",
-                Integer.toHexString( cbRgFcLcb ) );
+        LOG.atWarn().log("Since FIB.nFib == {} value of FIB.cbRgFcLcb MUST be 
{}, not 0x{}", strNFib, strCbRgFcLcb, Integer.toHexString(cbRgFcLcb));
     }
 
     private void assertCswNew()
@@ -211,7 +211,7 @@ public final class FileInformationBlock
             assertCswNew( "0x0112", 0x0005, "0x0005", _cswNew );
             break;
         default:
-            LOG.log(POILogger.WARN, "Invalid file format version number: ", 
getNFib());
+            LOG.atWarn().log("Invalid file format version number: {}", 
box(getNFib()));
         }
     }
 
@@ -222,9 +222,7 @@ public final class FileInformationBlock
         if ( cswNew == expectedCswNew )
             return;
 
-        LOG.log( POILogger.WARN, "Since FIB.nFib == ", strNFib,
-                " value of FIB.cswNew MUST be ",
-                strExpectedCswNew + ", not 0x", Integer.toHexString( cswNew ) 
);
+        LOG.atWarn().log("Since FIB.nFib == {} value of FIB.cswNew MUST be {}, 
not 0x{}", strNFib, strExpectedCswNew, Integer.toHexString(cswNew));
     }
 
     public void fillVariableFields( byte[] mainDocument, byte[] tableStream )

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/FontTable.java Sun 
Feb 21 20:57:25 2021
@@ -20,12 +20,12 @@ package org.apache.poi.hwpf.model;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hwpf.model.io.HWPFFileSystem;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianConsts;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * FontTable or in MS terminology sttbfffn is a common data structure written 
in all
@@ -38,7 +38,7 @@ import org.apache.poi.util.POILogger;
 @Internal
 public final class FontTable
 {
-    private static final POILogger LOG = 
POILogFactory.getLogger(FontTable.class);
+    private static final Logger LOG = LogManager.getLogger(FontTable.class);
     private short _stringCount;// how many strings are included in the string 
table
     private short _extraDataSz;// size in bytes of the extra data
 
@@ -93,7 +93,7 @@ public final class FontTable
     {
         if(chpFtc >= _stringCount)
         {
-            LOG.log(POILogger.INFO, "Mismatch in chpFtc with stringCount");
+            LOG.atInfo().log("Mismatch in chpFtc with stringCount");
             return null;
         }
 
@@ -104,7 +104,7 @@ public final class FontTable
     {
         if(chpFtc >= _stringCount)
         {
-            LOG.log(POILogger.INFO, "Mismatch in chpFtc with stringCount");
+            LOG.atInfo().log("Mismatch in chpFtc with stringCount");
             return null;
         }
 

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListLevel.java Sun 
Feb 21 20:57:25 2021
@@ -19,11 +19,13 @@ package org.apache.poi.hwpf.model;
 
 import java.util.Arrays;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hwpf.model.types.LVLFAbstractType;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * "The LVL structure contains formatting information about a specific level in
@@ -43,7 +45,7 @@ public final class ListLevel
     //arbitrarily selected; may need to increase
     private static final int MAX_RECORD_LENGTH = 10_485_760;
 
-    private static final POILogger LOG = POILogFactory.getLogger( 
ListLevel.class );
+    private static final Logger LOG = LogManager.getLogger(ListLevel.class);
 
     private byte[] _grpprlChpx;
     private byte[] _grpprlPapx;
@@ -244,10 +246,7 @@ public final class ListLevel
         {
             if ( _xst.getCch() != 1 )
             {
-                LOG.log( POILogger.WARN, "LVL at offset ",
-                        Integer.valueOf( startOffset ),
-                        " has nfc == 0x17 (bullets), but cch != 1 (",
-                        Integer.valueOf( _xst.getCch() ), ")" );
+                LOG.atWarn().log("LVL at offset {} has nfc == 0x17 (bullets), 
but cch != 1 ({})", box(startOffset),box(_xst.getCch()));
             }
         }
 

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java?rev=1886770&r1=1886769&r2=1886770&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java 
(original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hwpf/model/ListTables.java Sun 
Feb 21 20:57:25 2021
@@ -23,17 +23,19 @@ import java.util.LinkedHashMap;
 import java.util.NoSuchElementException;
 import java.util.Objects;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hwpf.model.types.LSTFAbstractType;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianConsts;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 @Internal
 public final class ListTables
 {
-  private static final POILogger log = 
POILogFactory.getLogger(ListTables.class);
+  private static final Logger LOGGER = LogManager.getLogger(ListTables.class);
 
     /**
      * Both PlfLst and the following LVLs
@@ -141,13 +143,13 @@ public final class ListTables
   {
     ListData lst = _listMap.get(lsid);
     if (lst == null) {
-        log.log(POILogger.WARN, "ListData for ", lsid, " was null.");
+        LOGGER.atWarn().log("ListData for {} was null.", box(lsid));
         return null;
     }
     if(level < lst.numLevels()) {
         return lst.getLevels()[level];
     }
-    log.log(POILogger.WARN, "Requested level ", level, " which was greater 
than the maximum defined (", lst.numLevels(), ")");
+      LOGGER.atWarn().log("Requested level {} which was greater than the 
maximum defined ({})", box(level),box(lst.numLevels()));
        return null;
   }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org
For additional commands, e-mail: commits-h...@poi.apache.org

Reply via email to