Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Document.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Document.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Document.java 
(original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Document.java 
Mon Feb  1 14:59:43 2021
@@ -22,7 +22,7 @@ import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.Arrays;
 
-import org.apache.poi.util.POILogger;
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * Master container for Document. There is one of these for every
@@ -161,10 +161,10 @@ public final class Document extends Posi
                //  (normally it's 2, or 3 if you have notes)
                // Complain if it's not
                if(slwtcount == 0) {
-                       LOG.log(POILogger.WARN, "No SlideListWithText's found - 
there should normally be at least one!");
+                       LOG.atWarn().log("No SlideListWithText's found - there 
should normally be at least one!");
                }
                if(slwtcount > 3) {
-                       LOG.log(POILogger.WARN, "Found ", slwtcount, " 
SlideListWithTexts - normally there should only be three!");
+                       LOG.atWarn().log("Found {} SlideListWithTexts - 
normally there should only be three!", box(slwtcount));
                }
 
                // Now grab all the SLWTs

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExEmbed.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExEmbed.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExEmbed.java 
(original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExEmbed.java 
Mon Feb  1 14:59:43 2021
@@ -22,7 +22,8 @@ import java.io.OutputStream;
 import java.util.Arrays;
 
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * This data represents an embedded object in the document.
@@ -102,17 +103,19 @@ public class ExEmbed extends RecordConta
     private void findInterestingChildren() {
 
         // First child should be the ExHyperlinkAtom
-        if(_children[0] instanceof ExEmbedAtom) {
-            embedAtom = (ExEmbedAtom)_children[0];
+        Record child = _children[0];
+        if(child instanceof ExEmbedAtom) {
+            embedAtom = (ExEmbedAtom) child;
         } else {
-            LOG.log(POILogger.ERROR, "First child record wasn't a ExEmbedAtom, 
was of type ", _children[0].getRecordType());
+            LOG.atError().log("First child record wasn't a ExEmbedAtom, was of 
type {}", box(child.getRecordType()));
         }
 
         // Second child should be the ExOleObjAtom
-        if (_children[1] instanceof ExOleObjAtom) {
-            oleObjAtom = (ExOleObjAtom)_children[1];
+        child = _children[1];
+        if (child instanceof ExOleObjAtom) {
+            oleObjAtom = (ExOleObjAtom) child;
         } else {
-            LOG.log(POILogger.ERROR, "Second child record wasn't a 
ExOleObjAtom, was of type ", _children[1].getRecordType());
+            LOG.atError().log("Second child record wasn't a ExOleObjAtom, was 
of type {}", box(child.getRecordType()));
         }
 
         for (int i = 2; i < _children.length; i++) {

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExHyperlink.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExHyperlink.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExHyperlink.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExHyperlink.java
 Mon Feb  1 14:59:43 2021
@@ -21,7 +21,8 @@ import java.io.OutputStream;
 import java.util.Arrays;
 
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * This class represents the data of a link in the document.
@@ -115,18 +116,20 @@ public class ExHyperlink extends RecordC
        private void findInterestingChildren() {
 
                // First child should be the ExHyperlinkAtom
-               if(_children[0] instanceof ExHyperlinkAtom) {
-                       linkAtom = (ExHyperlinkAtom)_children[0];
+               Record child = _children[0];
+               if(child instanceof ExHyperlinkAtom) {
+                       linkAtom = (ExHyperlinkAtom) child;
                } else {
-                       LOG.log(POILogger.ERROR, "First child record wasn't a 
ExHyperlinkAtom, was of type ", _children[0].getRecordType());
+                       LOG.atError().log("First child record wasn't a 
ExHyperlinkAtom, was of type {}", box(child.getRecordType()));
                }
 
         for (int i = 1; i < _children.length; i++) {
-            if (_children[i] instanceof CString){
-                if ( linkDetailsA == null) linkDetailsA = 
(CString)_children[i];
-                else linkDetailsB = (CString)_children[i];
+                       child = _children[i];
+                       if (child instanceof CString){
+                if ( linkDetailsA == null) linkDetailsA = (CString) child;
+                else linkDetailsB = (CString) child;
             } else {
-                LOG.log(POILogger.ERROR, "Record after ExHyperlinkAtom wasn't 
a CString, was of type ", _children[1].getRecordType());
+                LOG.atError().log("Record after ExHyperlinkAtom wasn't a 
CString, was of type {}", box(child.getRecordType()));
             }
 
         }

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExMCIMovie.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExMCIMovie.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExMCIMovie.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExMCIMovie.java
 Mon Feb  1 14:59:43 2021
@@ -22,7 +22,8 @@ import java.io.OutputStream;
 import java.util.Arrays;
 
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * A container record that specifies information about a movie stored 
externally.
@@ -69,10 +70,11 @@ public class ExMCIMovie extends RecordCo
     private void findInterestingChildren() {
 
         // First child should be the ExVideoContainer
-        if (_children[0] instanceof ExVideoContainer) {
-            exVideo = (ExVideoContainer) _children[0];
+        final Record child = _children[0];
+        if (child instanceof ExVideoContainer) {
+            exVideo = (ExVideoContainer) child;
         } else {
-            LOG.log(POILogger.ERROR, "First child record wasn't a 
ExVideoContainer, was of type ", _children[0].getRecordType());
+            LOG.atError().log("First child record wasn't a ExVideoContainer, 
was of type {}", box(child.getRecordType()));
         }
     }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExVideoContainer.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExVideoContainer.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExVideoContainer.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/ExVideoContainer.java
 Mon Feb  1 14:59:43 2021
@@ -22,7 +22,8 @@ import java.io.OutputStream;
 import java.util.Arrays;
 
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * A container record that specifies information about external video data.
@@ -57,15 +58,17 @@ public final class ExVideoContainer exte
        private void findInterestingChildren() {
 
                // First child should be the ExMediaAtom
-               if(_children[0] instanceof ExMediaAtom) {
-                       mediaAtom = (ExMediaAtom)_children[0];
+               Record child = _children[0];
+               if(child instanceof ExMediaAtom) {
+                       mediaAtom = (ExMediaAtom) child;
                } else {
-                       LOG.log(POILogger.ERROR, "First child record wasn't a 
ExMediaAtom, was of type ", _children[0].getRecordType());
+                       LOG.atError().log("First child record wasn't a 
ExMediaAtom, was of type {}", box(child.getRecordType()));
                }
-        if(_children[1] instanceof CString) {
-            pathAtom = (CString)_children[1];
+               child = _children[1];
+               if(child instanceof CString) {
+            pathAtom = (CString) child;
         } else {
-            LOG.log(POILogger.ERROR, "Second child record wasn't a CString, 
was of type ", _children[1].getRecordType());
+            LOG.atError().log("Second child record wasn't a CString, was of 
type {}", box(child.getRecordType()));
         }
        }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/FontCollection.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/FontCollection.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/FontCollection.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/FontCollection.java
 Mon Feb  1 14:59:43 2021
@@ -35,7 +35,6 @@ import org.apache.poi.common.usermodel.f
 import org.apache.poi.hslf.usermodel.HSLFFontInfo;
 import org.apache.poi.hslf.usermodel.HSLFFontInfoPredefined;
 import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogger;
 
 /**
  * {@code FontCollection} ia a container that holds information
@@ -62,7 +61,7 @@ public final class FontCollection extend
                            HSLFFontInfo fi = addFont(fontHeader);
                            fi.addFacet(fed);
                        } else {
-                               LOG.log(POILogger.WARN, "Warning: 
FontCollection child wasn't a FontEntityAtom, was ", 
r.getClass().getSimpleName());
+                               LOG.atWarn().log("FontCollection child wasn't a 
FontEntityAtom, was {}", r.getClass().getSimpleName());
                        }
                }
        }

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/HeadersFootersContainer.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/HeadersFootersContainer.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/HeadersFootersContainer.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/HeadersFootersContainer.java
 Mon Feb  1 14:59:43 2021
@@ -22,7 +22,8 @@ import java.io.OutputStream;
 import java.util.Arrays;
 
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * A container record that specifies information about the footers on a 
presentation slide.
@@ -89,11 +90,11 @@ public final class HeadersFootersContain
                         csFooter = cs;
                         break;
                     default:
-                        LOG.log(POILogger.WARN, "Unexpected CString.Options in 
HeadersFootersContainer: ", opts);
+                        LOG.atWarn().log("Unexpected CString.Options in 
HeadersFootersContainer: {}", box(opts));
                         break;
                 }
             } else {
-                LOG.log(POILogger.WARN, "Unexpected record in 
HeadersFootersContainer: ", child);
+                LOG.atWarn().log("Unexpected record in 
HeadersFootersContainer: {}", child);
             }
         }
     }

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/InteractiveInfo.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/InteractiveInfo.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/InteractiveInfo.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/InteractiveInfo.java
 Mon Feb  1 14:59:43 2021
@@ -21,7 +21,6 @@ import java.io.OutputStream;
 import java.util.Arrays;
 
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
 
 /**
  * This class represents the metadata of a link in a slide/notes/etc.
@@ -61,7 +60,7 @@ public class InteractiveInfo extends Rec
        private void findInterestingChildren() {
                // First child should be the InteractiveInfoAtom
            if (_children == null || _children.length == 0 || !(_children[0] 
instanceof InteractiveInfoAtom)) {
-               LOG.log(POILogger.WARN, "First child record wasn't a 
InteractiveInfoAtom - leaving this atom in an invalid state...");
+               LOG.atWarn().log("First child record wasn't a 
InteractiveInfoAtom - leaving this atom in an invalid state...");
                return;
            }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/MasterTextPropAtom.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/MasterTextPropAtom.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/MasterTextPropAtom.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/MasterTextPropAtom.java
 Mon Feb  1 14:59:43 2021
@@ -31,7 +31,6 @@ import org.apache.poi.hslf.model.textpro
 import org.apache.poi.util.GenericRecordUtil;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
 
 /**
  * Specifies the Indent Level for the text
@@ -85,7 +84,7 @@ public final class MasterTextPropAtom ex
         try {
             read();
         } catch (Exception e){
-            LOG.log(POILogger.ERROR, "Failed to parse MasterTextPropAtom", e);
+            LOG.atError().withThrowable(e).log("Failed to parse 
MasterTextPropAtom");
         }
     }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawing.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawing.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawing.java 
(original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawing.java 
Mon Feb  1 14:59:43 2021
@@ -48,7 +48,8 @@ import org.apache.poi.sl.usermodel.Shape
 import org.apache.poi.util.GenericRecordUtil;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * These are actually wrappers onto Escher drawings. Make use of
@@ -201,7 +202,7 @@ public final class PPDrawing extends Rec
                // Wind on
                int size = r.getRecordSize();
                if(size < 8) {
-                       LOG.log(POILogger.WARN, "Hit short DDF record at ", 
startPos, " - ", size);
+                       LOG.atWarn().log("Hit short DDF record at {} - {}", 
box(startPos),box(size));
                }
 
                /*
@@ -211,7 +212,7 @@ public final class PPDrawing extends Rec
                 * Sometimes it is not so, see an example in bug #44770. Most 
likely reason is that one of ddf records calculates wrong size.
                 */
                if(size != escherBytes){
-                       LOG.log(POILogger.WARN, "Record length=", escherBytes, 
" but getRecordSize() returned ", r.getRecordSize(), "; record: ", 
r.getClass());
+                       LOG.atWarn().log("Record length={} but getRecordSize() 
returned {}; record: {}", box(escherBytes),box(r.getRecordSize()),r.getClass());
                        size = escherBytes;
                }
                startPos += size;

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/PersistPtrHolder.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/PersistPtrHolder.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/PersistPtrHolder.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/PersistPtrHolder.java
 Mon Feb  1 14:59:43 2021
@@ -35,7 +35,6 @@ import org.apache.poi.util.BitFieldFacto
 import org.apache.poi.util.GenericRecordUtil;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
 
 /**
  * General holder for PersistPtrFullBlock and PersistPtrIncrementalBlock
@@ -176,8 +175,9 @@ public final class PersistPtrHolder exte
 
             if (newPos == null) {
                 Integer id = me.getKey();
-                LOG.log(POILogger.WARN, "Couldn't find the new location of the 
\"slide\" with id " + id + " that used to be at " + oldPos);
-                LOG.log(POILogger.WARN, "Not updating the position of it, you 
probably won't be able to find it any more (if you ever could!)");
+                               LOG.atWarn().log("Couldn't find the new 
location of the \"slide\" with id {} that used to " +
+                                               "be at {}. Not updating the 
position of it, you probably won't be able to find it any more " +
+                                               "(if you ever could!)", id, 
oldPos);
             } else {
                 me.setValue(newPos);
             }

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Record.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Record.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Record.java 
(original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Record.java 
Mon Feb  1 14:59:43 2021
@@ -23,13 +23,15 @@ 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.common.usermodel.GenericRecord;
 import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
 import org.apache.poi.hslf.exceptions.HSLFException;
 import org.apache.poi.hslf.record.RecordTypes.RecordConstructor;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * This abstract class represents a record in the PowerPoint document.
@@ -42,7 +44,7 @@ import org.apache.poi.util.POILogger;
 public abstract class Record implements GenericRecord
 {
     // For logging
-       protected static final POILogger LOG = 
POILogFactory.getLogger(Record.class);
+       protected static final Logger LOG = LogManager.getLogger(Record.class);
 
        /**
         * Is this record type an Atom record (only has data),
@@ -79,7 +81,7 @@ public abstract class Record implements
        }
 
        @Override
-       public List<org.apache.poi.hslf.record.Record> getGenericChildren() {
+       public List<Record> getGenericChildren() {
                Record[] recs = getChildRecords();
                return (recs == null) ? null : Arrays.asList(recs);
        }
@@ -107,7 +109,7 @@ public abstract class Record implements
         * @param b The byte array to build from
         * @param offset The offset to build at
         */
-       public static org.apache.poi.hslf.record.Record 
buildRecordAtOffset(byte[] b, int offset) {
+       public static Record buildRecordAtOffset(byte[] b, int offset) {
                long type = LittleEndian.getUShort(b,offset+2);
                long rlen = LittleEndian.getUInt(b,offset+4);
 
@@ -122,7 +124,7 @@ public abstract class Record implements
         * Default method for finding child records of a container record
         */
        public static Record[] findChildRecords(byte[] b, int start, int len) {
-               List<org.apache.poi.hslf.record.Record> children = new 
ArrayList<>(5);
+               List<Record> children = new ArrayList<>(5);
 
                // Jump our little way along, creating records as we go
                int pos = start;
@@ -149,7 +151,7 @@ public abstract class Record implements
                }
 
                // Turn the vector into an array, and return
-        return children.toArray(new org.apache.poi.hslf.record.Record[0]);
+        return children.toArray(new Record[0]);
        }
 
        /**
@@ -161,7 +163,7 @@ public abstract class Record implements
         *  (not including the size of the header), this code assumes you're
         *  passing in corrected lengths
         */
-       public static org.apache.poi.hslf.record.Record 
createRecordForType(long type, byte[] b, int start, int len) {
+       public static Record createRecordForType(long type, byte[] b, int 
start, int len) {
                // We use the RecordTypes class to provide us with the right
                //  class to use for a given type
                // A spot of reflection gets us the (byte[],int,int) constructor
@@ -183,7 +185,7 @@ public abstract class Record implements
                        // Handle case of a corrupt last record, whose claimed 
length
                        //  would take us passed the end of the file
                        if(start + len > b.length ) {
-                               LOG.log(POILogger.WARN, "Warning: Skipping 
record of type " + type + " at position " + start + " which claims to be longer 
than the file! (" + len + " vs " + (b.length-start) + ")");
+                               LOG.atWarn().log("Warning: Skipping record of 
type {} at position {} which claims to be longer than the file! ({} vs {})", 
type, box(start), box(len), box(b.length - start));
                                return null;
                        }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Sound.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Sound.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Sound.java 
(original)
+++ poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/Sound.java 
Mon Feb  1 14:59:43 2021
@@ -21,7 +21,7 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Arrays;
 
-import org.apache.poi.util.POILogger;
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * A container holding information about a sound. It contains:
@@ -65,17 +65,19 @@ public final class Sound extends RecordC
 
     private void findInterestingChildren() {
         // First child should be the ExHyperlinkAtom
-        if(_children[0] instanceof CString) {
-            _name = (CString)_children[0];
+        Record child = _children[0];
+        if(child instanceof CString) {
+            _name = (CString) child;
         } else {
-            LOG.log(POILogger.ERROR, "First child record wasn't a CString, was 
of type ", _children[0].getRecordType());
+            LOG.atError().log("First child record wasn't a CString, was of 
type {}", box(child.getRecordType()));
         }
 
         // Second child should be the ExOleObjAtom
-        if (_children[1] instanceof CString) {
-            _type = (CString)_children[1];
+        child = _children[1];
+        if (child instanceof CString) {
+            _type = (CString) child;
         } else {
-            LOG.log(POILogger.ERROR, "Second child record wasn't a CString, 
was of type ", _children[1].getRecordType());
+            LOG.atError().log("Second child record wasn't a CString, was of 
type {}", box(child.getRecordType()));
         }
 
         for (int i = 2; i < _children.length; i++) {

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/StyleTextPropAtom.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/StyleTextPropAtom.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/StyleTextPropAtom.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/StyleTextPropAtom.java
 Mon Feb  1 14:59:43 2021
@@ -33,7 +33,8 @@ import org.apache.poi.util.GenericRecord
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * A StyleTextPropAtom (type 4001). Holds basic character properties
@@ -251,7 +252,7 @@ public final class StyleTextPropAtom ext
 
         }
         if (rawContents.length > 0 && textHandled != (size+1)){
-            LOG.log(POILogger.WARN, "Problem reading paragraph style runs: 
textHandled = ", textHandled, ", text.size+1 = ", (size+1));
+            LOG.atWarn().log("Problem reading paragraph style runs: 
textHandled = {}, text.size+1 = {}", box(textHandled),box(size + 1));
         }
 
         // Now do the character stylings
@@ -283,7 +284,7 @@ public final class StyleTextPropAtom ext
             }
         }
         if (rawContents.length > 0 && textHandled != (size+1)){
-            LOG.log(POILogger.WARN, "Problem reading character style runs: 
textHandled = ", textHandled, ", text.size+1 = ", (size+1));
+            LOG.atWarn().log("Problem reading character style runs: 
textHandled = {}, text.size+1 = {}", box(textHandled),box(size + 1));
         }
 
         // Handle anything left over
@@ -296,8 +297,7 @@ public final class StyleTextPropAtom ext
 
     private int checkTextLength(int readLength, int handledSoFar, int 
overallSize) {
         if (readLength + handledSoFar > overallSize + 1) {
-            LOG.log(POILogger.WARN, "Style length of ", readLength, " at ", 
handledSoFar,
-                    " larger than stated size of ", overallSize, ", 
truncating");
+            LOG.atWarn().log("Style length of {} at {} larger than stated size 
of {}, truncating", box(readLength),box(handledSoFar),box(overallSize));
             return overallSize + 1 - handledSoFar;
         }
         return readLength;

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java
 Mon Feb  1 14:59:43 2021
@@ -36,7 +36,6 @@ import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianByteArrayInputStream;
 import org.apache.poi.util.LittleEndianOutputStream;
-import org.apache.poi.util.POILogger;
 
 /**
  * Ruler of a text as it differs from the style's ruler settings.
@@ -98,7 +97,7 @@ public final class TextRulerAtom extends
             // Get the record data.
             read(leis);
         } catch (IOException e){
-            LOG.log(POILogger.ERROR, "Failed to parse TextRulerAtom: ", 
e.getMessage());
+            LOG.atError().withThrowable(e).log("Failed to parse 
TextRulerAtom");
         }
     }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/TxMasterStyleAtom.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/TxMasterStyleAtom.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/TxMasterStyleAtom.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/record/TxMasterStyleAtom.java
 Mon Feb  1 14:59:43 2021
@@ -26,6 +26,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.hslf.exceptions.HSLFException;
 import org.apache.poi.hslf.model.textproperties.TextPropCollection;
 import 
org.apache.poi.hslf.model.textproperties.TextPropCollection.TextPropType;
@@ -35,8 +37,6 @@ import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianConsts;
 import org.apache.poi.util.LittleEndianOutputStream;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * TxMasterStyleAtom atom (4003).
@@ -53,7 +53,7 @@ import org.apache.poi.util.POILogger;
  * </p>
  */
 public final class TxMasterStyleAtom extends RecordAtom {
-    private static final POILogger LOG = 
POILogFactory.getLogger(TxMasterStyleAtom.class);
+    private static final Logger LOG = 
LogManager.getLogger(TxMasterStyleAtom.class);
     //arbitrarily selected; may need to increase
     private static final int MAX_RECORD_LENGTH = 100_000;
 
@@ -79,7 +79,7 @@ public final class TxMasterStyleAtom ext
         try {
             init();
         } catch (Exception e){
-            LOG.log(POILogger.WARN, "Exception when reading available styles", 
e);
+            LOG.atWarn().withThrowable(e).log("Exception when reading 
available styles");
         }
     }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFAutoShape.java
 Mon Feb  1 14:59:43 2021
@@ -26,6 +26,8 @@ import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
 import java.util.Iterator;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.ddf.AbstractEscherOptRecord;
 import org.apache.poi.ddf.EscherArrayProperty;
 import org.apache.poi.ddf.EscherContainerRecord;
@@ -47,8 +49,6 @@ import org.apache.poi.ss.usermodel.Shape
 import org.apache.poi.util.BitField;
 import org.apache.poi.util.BitFieldFactory;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * Represents an AutoShape.<p>
@@ -57,7 +57,7 @@ import org.apache.poi.util.POILogger;
  * See {@link ShapeTypes}
  */
 public class HSLFAutoShape extends HSLFTextShape implements 
AutoShape<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFAutoShape.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFAutoShape.class);
 
     static final byte[] SEGMENTINFO_MOVETO   = new byte[]{0x00, 0x40};
     static final byte[] SEGMENTINFO_LINETO   = new byte[]{0x00, (byte)0xAC};
@@ -218,11 +218,11 @@ public class HSLFAutoShape extends HSLFT
 
         //sanity check
         if(verticesProp == null) {
-            LOG.log(POILogger.WARN, "Freeform is missing GEOMETRY__VERTICES ");
+            LOG.atWarn().log("Freeform is missing GEOMETRY__VERTICES ");
             return super.getGeometry();
         }
         if(segmentsProp == null) {
-            LOG.log(POILogger.WARN, "Freeform is missing GEOMETRY__SEGMENTINFO 
");
+            LOG.atWarn().log("Freeform is missing GEOMETRY__SEGMENTINFO ");
             return super.getGeometry();
         }
 
@@ -236,7 +236,7 @@ public class HSLFAutoShape extends HSLFT
 
         while (segIter.hasNext()) {
             byte[] segElem = segIter.next();
-            HSLFAutoShape.PathInfo pi = getPathInfo(segElem);
+            PathInfo pi = getPathInfo(segElem);
             if (pi == null) {
                 continue;
             }
@@ -368,7 +368,7 @@ public class HSLFAutoShape extends HSLFT
     }
 
     private static void handleEscapeInfo(Path pathCT, Path2D path2D, byte[] 
segElem, Iterator<byte[]> vertIter) {
-        HSLFAutoShape.EscapeInfo ei = getEscapeInfo(segElem);
+        EscapeInfo ei = getEscapeInfo(segElem);
         if (ei == null) {
             return;
         }
@@ -466,26 +466,26 @@ public class HSLFAutoShape extends HSLFT
         return new Point2D.Double(xyPoints[0],xyPoints[1]);
     }
 
-    private static HSLFAutoShape.PathInfo getPathInfo(byte[] elem) {
+    private static PathInfo getPathInfo(byte[] elem) {
         int elemUS = LittleEndian.getUShort(elem, 0);
         int pathInfo = PATH_INFO.getValue(elemUS);
-        return HSLFAutoShape.PathInfo.valueOf(pathInfo);
+        return PathInfo.valueOf(pathInfo);
     }
 
-    private static HSLFAutoShape.EscapeInfo getEscapeInfo(byte[] elem) {
+    private static EscapeInfo getEscapeInfo(byte[] elem) {
         int elemUS = LittleEndian.getUShort(elem, 0);
         int escInfo = ESCAPE_INFO.getValue(elemUS);
-        return HSLFAutoShape.EscapeInfo.valueOf(escInfo);
+        return EscapeInfo.valueOf(escInfo);
     }
 
 
     private static AdjustPoint fillPoint(byte[] xyMaster, int[] xyPoints) {
         if (xyMaster == null || xyPoints == null) {
-            LOG.log(POILogger.WARN, "Master bytes or points not set - ignore 
point");
+            LOG.atWarn().log("Master bytes or points not set - ignore point");
             return null;
         }
         if ((xyMaster.length != 4 && xyMaster.length != 8) || xyPoints.length 
!= 2) {
-            LOG.log(POILogger.WARN, "Invalid number of master bytes for a 
single point - ignore point");
+            LOG.atWarn().log("Invalid number of master bytes for a single 
point - ignore point");
             return null;
         }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFill.java
 Mon Feb  1 14:59:43 2021
@@ -24,6 +24,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 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.EscherArrayProperty;
 import org.apache.poi.ddf.EscherBSERecord;
@@ -41,19 +43,20 @@ import org.apache.poi.sl.usermodel.Paint
 import org.apache.poi.sl.usermodel.PaintStyle.GradientPaint;
 import org.apache.poi.sl.usermodel.PaintStyle.GradientPaint.GradientType;
 import org.apache.poi.sl.usermodel.PaintStyle.TexturePaint;
+import org.apache.poi.sl.usermodel.PictureData;
 import org.apache.poi.util.BitField;
 import org.apache.poi.util.BitFieldFactory;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.Units;
 
+import static org.apache.logging.log4j.util.Unbox.box;
+
 /**
  * Represents functionality provided by the 'Fill Effects' dialog in 
PowerPoint.
  */
 @SuppressWarnings("WeakerAccess")
 public final class HSLFFill {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFFill.class);
+    private static final Logger LOG = LogManager.getLogger(HSLFFill.class);
 
     /**
      *  Fill with a solid color
@@ -263,7 +266,7 @@ public final class HSLFFill {
             case FILL_PICTURE:
                 return getTexturePaint();
             default:
-                LOG.log(POILogger.WARN, "unsuported fill type: ", fillType);
+                LOG.atWarn().log("unsupported fill type: {}", box(fillType));
                 return null;
         }
     }
@@ -445,7 +448,7 @@ public final class HSLFFill {
     EscherBSERecord getEscherBSERecord(int idx){
         HSLFSheet sheet = shape.getSheet();
         if(sheet == null) {
-            LOG.log(POILogger.DEBUG, "Fill has not yet been assigned to a 
sheet");
+            LOG.atDebug().log("Fill has not yet been assigned to a sheet");
             return null;
         }
         HSLFSlideShow ppt = sheet.getSlideShow();
@@ -453,7 +456,7 @@ public final class HSLFFill {
         EscherContainerRecord dggContainer = 
doc.getPPDrawingGroup().getDggContainer();
         EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, 
EscherContainerRecord.BSTORE_CONTAINER);
         if(bstore == null) {
-            LOG.log(POILogger.DEBUG, "EscherContainerRecord.BSTORE_CONTAINER 
was not found ");
+            LOG.atDebug().log("EscherContainerRecord.BSTORE_CONTAINER was not 
found ");
             return null;
         }
         List<EscherRecord> lst = bstore.getChildRecords();
@@ -560,10 +563,10 @@ public final class HSLFFill {
         EscherContainerRecord dggContainer = 
doc.getPPDrawingGroup().getDggContainer();
         EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, 
EscherContainerRecord.BSTORE_CONTAINER);
 
-        java.util.List<EscherRecord> lst = bstore.getChildRecords();
+        List<EscherRecord> lst = bstore.getChildRecords();
         int idx = p.getPropertyValue();
         if (idx == 0){
-            LOG.log(POILogger.WARN, "no reference to picture data found ");
+            LOG.atWarn().log("no reference to picture data found ");
         } else {
             EscherBSERecord bse = (EscherBSERecord)lst.get(idx - 1);
             for (HSLFPictureData pd : pict) {
@@ -579,7 +582,7 @@ public final class HSLFFill {
     /**
      * Assign picture used to fill the underlying shape.
      *
-     * @param data the picture data added to this ppt by {@link 
HSLFSlideShow#addPicture(byte[], 
org.apache.poi.sl.usermodel.PictureData.PictureType)} method.
+     * @param data the picture data added to this ppt by {@link 
HSLFSlideShow#addPicture(byte[], PictureData.PictureType)} method.
      */
     public void setPictureData(HSLFPictureData data){
         AbstractEscherOptRecord opt = shape.getEscherOptRecord();

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFreeformShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFreeformShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFreeformShape.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFFreeformShape.java
 Mon Feb  1 14:59:43 2021
@@ -25,6 +25,8 @@ import java.awt.geom.Rectangle2D;
 import java.util.ArrayList;
 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.EscherArrayProperty;
 import org.apache.poi.ddf.EscherContainerRecord;
@@ -34,10 +36,10 @@ import org.apache.poi.sl.usermodel.Freef
 import org.apache.poi.sl.usermodel.ShapeContainer;
 import org.apache.poi.sl.usermodel.ShapeType;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.Units;
 
+import static org.apache.logging.log4j.util.Unbox.box;
+
 /**
  * A "Freeform" shape.
  *
@@ -47,7 +49,7 @@ import org.apache.poi.util.Units;
  * </p>
  */
 public final class HSLFFreeformShape extends HSLFAutoShape implements 
FreeformShape<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFFreeformShape.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFFreeformShape.class);
 
 
     enum ShapePath {
@@ -138,7 +140,7 @@ public final class HSLFFreeformShape ext
                     break;
                 case PathIterator.SEG_QUADTO:
                     //TODO: figure out how to convert SEG_QUADTO into 
SEG_CUBICTO
-                    LOG.log(POILogger.WARN, "SEG_QUADTO is not supported");
+                    LOG.atWarn().log("SEG_QUADTO is not supported");
                     break;
                 case PathIterator.SEG_CLOSE:
                     pntInfo.add(pntInfo.get(0));
@@ -150,7 +152,7 @@ public final class HSLFFreeformShape ext
                     numPoints++;
                     break;
                 default:
-                    LOG.log(POILogger.WARN, "Ignoring invalid segment type ", 
type);
+                    LOG.atWarn().log("Ignoring invalid segment type {}", 
box(type));
                     break;
             }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFGroupShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFGroupShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFGroupShape.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFGroupShape.java
 Mon Feb  1 14:59:43 2021
@@ -22,6 +22,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.EscherChildAnchorRecord;
 import org.apache.poi.ddf.EscherClientAnchorRecord;
 import org.apache.poi.ddf.EscherContainerRecord;
@@ -33,8 +35,6 @@ import org.apache.poi.sl.usermodel.Pictu
 import org.apache.poi.sl.usermodel.ShapeContainer;
 import org.apache.poi.sl.usermodel.ShapeType;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.Units;
 
 /**
@@ -42,7 +42,7 @@ import org.apache.poi.util.Units;
  */
 public class HSLFGroupShape extends HSLFShape
 implements HSLFShapeContainer, GroupShape<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFGroupShape.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFGroupShape.class);
 
     /**
       * Create a new ShapeGroup. This constructor is used when a new shape is 
created.
@@ -207,7 +207,7 @@ implements HSLFShapeContainer, GroupShap
         EscherClientAnchorRecord clientAnchor = 
getEscherChild(EscherClientAnchorRecord.RECORD_ID);
         int x1,y1,x2,y2;
         if(clientAnchor == null){
-            LOG.log(POILogger.INFO, "EscherClientAnchorRecord was not found 
for shape group. Searching for EscherChildAnchorRecord.");
+            LOG.atInfo().log("EscherClientAnchorRecord was not found for shape 
group. Searching for EscherChildAnchorRecord.");
             EscherChildAnchorRecord rec = 
getEscherChild(EscherChildAnchorRecord.RECORD_ID);
             x1 = rec.getDx1();
             y1 = rec.getDy1();
@@ -230,7 +230,7 @@ implements HSLFShapeContainer, GroupShap
 
     /**
      * Return type of the shape.
-     * In most cases shape group type is {@link 
org.apache.poi.sl.usermodel.ShapeType#NOT_PRIMITIVE}
+     * In most cases shape group type is {@link ShapeType#NOT_PRIMITIVE}
      *
      * @return type of the shape.
      */
@@ -289,7 +289,7 @@ implements HSLFShapeContainer, GroupShap
             } else {
                 // Should we do anything special with these non
                 //  Container records?
-                LOG.log(POILogger.ERROR, "Shape contained non container escher 
record, was ", r.getClass().getName());
+                LOG.atError().log("Shape contained non container escher 
record, was {}", r.getClass().getName());
             }
         }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFNotes.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFNotes.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFNotes.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFNotes.java
 Mon Feb  1 14:59:43 2021
@@ -20,12 +20,12 @@ package org.apache.poi.hslf.usermodel;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hslf.model.HeadersFooters;
 import org.apache.poi.hslf.record.HeadersFootersContainer;
 import org.apache.poi.sl.usermodel.Notes;
 import org.apache.poi.sl.usermodel.Placeholder;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * This class represents a slide's notes in a PowerPoint Document. It
@@ -36,7 +36,7 @@ import org.apache.poi.util.POILogger;
  */
 
 public final class HSLFNotes extends HSLFSheet implements 
Notes<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFNotes.class);
+    private static final Logger LOG = LogManager.getLogger(HSLFNotes.class);
 
     private final List<List<HSLFTextParagraph>> _paragraphs = new 
ArrayList<>();
 
@@ -57,7 +57,7 @@ public final class HSLFNotes extends HSL
         }
 
         if (_paragraphs.isEmpty()) {
-            LOG.log(POILogger.WARN, "No text records found for notes sheet");
+            LOG.atWarn().log("No text records found for notes sheet");
         }
     }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFObjectData.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFObjectData.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFObjectData.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFObjectData.java
 Mon Feb  1 14:59:43 2021
@@ -25,18 +25,18 @@ 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.hslf.record.ExOleObjStg;
 import org.apache.poi.sl.usermodel.ObjectData;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * A class that represents object data embedded in a slide show.
  */
 public class HSLFObjectData implements ObjectData, GenericRecord {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFObjectData.class);
-    
+    private static final Logger LOG = 
LogManager.getLogger(HSLFObjectData.class);
+
     /**
      * The record that contains the object data.
      */

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFObjectShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFObjectShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFObjectShape.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFObjectShape.java
 Mon Feb  1 14:59:43 2021
@@ -22,6 +22,8 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.ddf.EscherContainerRecord;
 import org.apache.poi.ddf.EscherPropertyTypes;
 import org.apache.poi.ddf.EscherSpRecord;
@@ -38,15 +40,13 @@ import org.apache.poi.sl.usermodel.Objec
 import org.apache.poi.sl.usermodel.ObjectMetaData.Application;
 import org.apache.poi.sl.usermodel.ObjectShape;
 import org.apache.poi.sl.usermodel.ShapeContainer;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 
 /**
  * A shape representing embedded OLE object.
  */
 public final class HSLFObjectShape extends HSLFPictureShape implements 
ObjectShape<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFObjectShape.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFObjectShape.class);
 
     private ExEmbed _exEmbed;
 
@@ -104,7 +104,7 @@ public final class HSLFObjectShape exten
 
         HSLFEscherClientDataRecord cldata = getClientData(true);
         ExObjRefAtom uer = null;
-        for (org.apache.poi.hslf.record.Record r : 
cldata.getHSLFChildRecords()) {
+        for (Record r : cldata.getHSLFChildRecords()) {
             if (r.getRecordType() == RecordTypes.ExObjRefAtom.typeID) {
                 uer = (ExObjRefAtom)r;
                 break;
@@ -141,7 +141,7 @@ public final class HSLFObjectShape exten
             }
         }
         if (data==null) {
-            LOG.log(POILogger.WARN, "OLE data not found");
+            LOG.atWarn().log("OLE data not found");
         }
 
         return data;
@@ -171,7 +171,7 @@ public final class HSLFObjectShape exten
 
             ExObjList lst = ppt.getDocumentRecord().getExObjList(create);
             if(lst == null){
-                LOG.log(POILogger.WARN, "ExObjList not found");
+                LOG.atWarn().log("ExObjList not found");
                 return null;
             }
 

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFPictureShape.java
 Mon Feb  1 14:59:43 2021
@@ -21,6 +21,8 @@ import java.awt.Insets;
 import java.awt.geom.Rectangle2D;
 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.EscherBSERecord;
 import org.apache.poi.ddf.EscherComplexProperty;
@@ -34,17 +36,17 @@ import org.apache.poi.sl.draw.DrawPictur
 import org.apache.poi.sl.usermodel.PictureShape;
 import org.apache.poi.sl.usermodel.ShapeContainer;
 import org.apache.poi.sl.usermodel.ShapeType;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.StringUtil;
 import org.apache.poi.util.Units;
 
+import static org.apache.logging.log4j.util.Unbox.box;
+
 
 /**
  * Represents a picture in a PowerPoint document.
  */
 public class HSLFPictureShape extends HSLFSimpleShape implements 
PictureShape<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFPictureShape.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFPictureShape.class);
 
     /**
      * Create a new <code>Picture</code>
@@ -120,14 +122,14 @@ public class HSLFPictureShape extends HS
 
         EscherBSERecord bse = getEscherBSERecord();
         if (bse == null){
-            LOG.log(POILogger.ERROR, "no reference to picture data found ");
+            LOG.atError().log("no reference to picture data found ");
         } else {
             for (HSLFPictureData pd : pict) {
                 if (pd.getOffset() ==  bse.getOffset()){
                     return pd;
                 }
             }
-            LOG.log(POILogger.ERROR, "no picture found for our BSE offset ", 
bse.getOffset());
+            LOG.atError().log("no picture found for our BSE offset {}", 
box(bse.getOffset()));
         }
         return null;
     }
@@ -139,13 +141,13 @@ public class HSLFPictureShape extends HS
         EscherContainerRecord dggContainer = 
doc.getPPDrawingGroup().getDggContainer();
         EscherContainerRecord bstore = HSLFShape.getEscherChild(dggContainer, 
EscherContainerRecord.BSTORE_CONTAINER);
         if(bstore == null) {
-            LOG.log(POILogger.DEBUG, "EscherContainerRecord.BSTORE_CONTAINER 
was not found ");
+            LOG.atDebug().log("EscherContainerRecord.BSTORE_CONTAINER was not 
found ");
             return null;
         }
         List<EscherRecord> lst = bstore.getChildRecords();
         int idx = getPictureIndex();
         if (idx == 0){
-            LOG.log(POILogger.DEBUG, "picture index was not found, returning 
");
+            LOG.atDebug().log("picture index was not found, returning ");
             return null;
         }
         return (EscherBSERecord)lst.get(idx-1);

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShape.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShape.java
 Mon Feb  1 14:59:43 2021
@@ -23,6 +23,8 @@ import java.awt.geom.Rectangle2D;
 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.EscherChildAnchorRecord;
 import org.apache.poi.ddf.EscherClientAnchorRecord;
@@ -48,8 +50,6 @@ import org.apache.poi.sl.usermodel.Prese
 import org.apache.poi.sl.usermodel.Shape;
 import org.apache.poi.sl.usermodel.ShapeContainer;
 import org.apache.poi.sl.usermodel.ShapeType;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.Removal;
 import org.apache.poi.util.StringUtil;
 import org.apache.poi.util.Units;
@@ -69,7 +69,7 @@ import org.apache.poi.util.Units;
  * <p>
  */
 public abstract class HSLFShape implements Shape<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFShape.class);
+    private static final Logger LOG = LogManager.getLogger(HSLFShape.class);
 
     /**
      * Either EscherSpContainer or EscheSpgrContainer record
@@ -168,7 +168,7 @@ public abstract class HSLFShape implemen
             y2 = childRec.getDy2();
         } else {
             if (useChildRec) {
-                LOG.log(POILogger.WARN, "EscherSpRecord.FLAG_CHILD is set but 
EscherChildAnchorRecord was not found");
+                LOG.atWarn().log("EscherSpRecord.FLAG_CHILD is set but 
EscherChildAnchorRecord was not found");
             }
             EscherClientAnchorRecord clientRec = 
getEscherChild(EscherClientAnchorRecord.RECORD_ID);
             x1 = clientRec.getCol1();
@@ -715,7 +715,7 @@ public abstract class HSLFShape implemen
     public <T extends Record> T getClientDataRecord(int recordType) {
 
         List<? extends Record> records = getClientRecords();
-        if (records != null) for (org.apache.poi.hslf.record.Record r : 
records) {
+        if (records != null) for (Record r : records) {
             if (r.getRecordType() == recordType){
                 return (T)r;
             }

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShapeFactory.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShapeFactory.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShapeFactory.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFShapeFactory.java
 Mon Feb  1 14:59:43 2021
@@ -19,6 +19,8 @@ package org.apache.poi.hslf.usermodel;
 
 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.EscherClientDataRecord;
 import org.apache.poi.ddf.EscherContainerRecord;
@@ -40,15 +42,13 @@ import org.apache.poi.hslf.record.Record
 import org.apache.poi.hslf.record.RecordTypes;
 import org.apache.poi.sl.usermodel.ShapeContainer;
 import org.apache.poi.sl.usermodel.ShapeType;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * Create a <code>Shape</code> object depending on its type
  */
 public final class HSLFShapeFactory {
     // For logging
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFShapeFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFShapeFactory.class);
 
     /**
      * Create a new shape from the data provided.
@@ -112,7 +112,7 @@ public final class HSLFShapeFactory {
                 if (parent instanceof HSLFTable) {
                     EscherTextboxRecord etr = 
spContainer.getChildById(EscherTextboxRecord.RECORD_ID);
                     if (etr == null) {
-                        LOG.log(POILogger.WARN, "invalid ppt - add 
EscherTextboxRecord to cell");
+                        LOG.atWarn().log("invalid ppt - add 
EscherTextboxRecord to cell");
                         etr = new EscherTextboxRecord();
                         etr.setRecordId(EscherTextboxRecord.RECORD_ID);
                         etr.setOptions((short)15);
@@ -153,14 +153,14 @@ public final class HSLFShapeFactory {
             return new HSLFFreeformShape(spContainer, parent);
         }
 
-        LOG.log(POILogger.INFO, "Creating AutoShape for a NotPrimitive shape");
+        LOG.atInfo().log("Creating AutoShape for a NotPrimitive shape");
         return new HSLFAutoShape(spContainer, parent);
     }
 
     @SuppressWarnings("unchecked")
     protected static <T extends Record> T 
getClientDataRecord(EscherContainerRecord spContainer, int recordType) {
         HSLFEscherClientDataRecord cldata = 
spContainer.getChildById(EscherClientDataRecord.RECORD_ID);
-        if (cldata != null) for (org.apache.poi.hslf.record.Record r : 
cldata.getHSLFChildRecords()) {
+        if (cldata != null) for (Record r : cldata.getHSLFChildRecords()) {
             if (r.getRecordType() == recordType) {
                 return (T)r;
             }

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSimpleShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSimpleShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSimpleShape.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSimpleShape.java
 Mon Feb  1 14:59:43 2021
@@ -19,6 +19,8 @@ package org.apache.poi.hslf.usermodel;
 
 import java.awt.Color;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.ddf.AbstractEscherOptRecord;
 import org.apache.poi.ddf.EscherChildAnchorRecord;
 import org.apache.poi.ddf.EscherClientAnchorRecord;
@@ -49,8 +51,6 @@ import org.apache.poi.sl.usermodel.Strok
 import org.apache.poi.sl.usermodel.StrokeStyle.LineCompound;
 import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.Units;
 
 /**
@@ -58,7 +58,7 @@ import org.apache.poi.util.Units;
  *  This is the parent class for all primitive shapes like Line, Rectangle, 
etc.
  */
 public abstract class HSLFSimpleShape extends HSLFShape implements 
SimpleShape<HSLFShape,HSLFTextParagraph> {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFSimpleShape.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFSimpleShape.class);
 
     public static final double DEFAULT_LINE_WIDTH = 0.75;
 
@@ -322,7 +322,7 @@ public abstract class HSLFSimpleShape ex
     @Override
     public Guide getAdjustValue(String name) {
         if (name == null || !name.matches("adj([1-9]|10)?")) {
-            LOG.log(POILogger.INFO, "Adjust value '", name, "' not supported. 
Using default value.");
+            LOG.atInfo().log("Adjust value '{}' not supported. Using default 
value.", name);
             return null;
         }
 
@@ -384,7 +384,7 @@ public abstract class HSLFSimpleShape ex
             if (name == null) {
                 name = (st != null) ? st.toString() : "<unknown>";
             }
-            LOG.log(POILogger.WARN, "No preset shape definition for shapeType: 
"+name);
+            LOG.atWarn().log("No preset shape definition for shapeType: {}", 
name);
         }
 
         return geom;

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShow.java
 Mon Feb  1 14:59:43 2021
@@ -33,6 +33,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.POIDocument;
 import org.apache.poi.common.usermodel.GenericRecord;
 import org.apache.poi.common.usermodel.fonts.FontInfo;
@@ -61,10 +63,10 @@ import org.apache.poi.sl.usermodel.Slide
 import org.apache.poi.util.GenericRecordUtil;
 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 org.apache.poi.util.Units;
 
+import static org.apache.logging.log4j.util.Unbox.box;
+
 /**
  * This class is a friendly wrapper on top of the more scary HSLFSlideShow.
  *
@@ -79,7 +81,7 @@ public final class HSLFSlideShow extends
        public static final String PP95_DOCUMENT = "PP40";
 
        // For logging
-       private static final POILogger LOG = 
POILogFactory.getLogger(HSLFSlideShow.class);
+       private static final Logger LOG = 
LogManager.getLogger(HSLFSlideShow.class);
 
        //arbitrarily selected; may need to increase
        private static final int MAX_RECORD_LENGTH = 10_000_000;
@@ -94,7 +96,7 @@ public final class HSLFSlideShow extends
 
        // Pointers to the most recent versions of the core records
        // (Document, Notes, Slide etc)
-       private org.apache.poi.hslf.record.Record[] _mostRecentCoreRecords;
+       private Record[] _mostRecentCoreRecords;
        // Lookup between the PersitPtr "sheet" IDs, and the position
        // in the mostRecentCoreRecords array
        private Map<Integer,Integer> _sheetIdToCoreRecordsLookup;
@@ -125,7 +127,7 @@ public final class HSLFSlideShow extends
            _hslfSlideShow = hslfSlideShow;
 
                // Handle Parent-aware Records
-               for (org.apache.poi.hslf.record.Record record : 
_hslfSlideShow.getRecords()) {
+               for (Record record : _hslfSlideShow.getRecords()) {
                        if(record instanceof RecordContainer){
                 
RecordContainer.handleParentAwareRecords((RecordContainer)record);
             }
@@ -187,7 +189,7 @@ public final class HSLFSlideShow extends
        private void findMostRecentCoreRecords() {
                // To start with, find the most recent in the byte offset domain
                Map<Integer,Integer> mostRecentByBytes = new HashMap<>();
-               for (org.apache.poi.hslf.record.Record record : 
_hslfSlideShow.getRecords()) {
+               for (Record record : _hslfSlideShow.getRecords()) {
                        if (record instanceof PersistPtrHolder) {
                                PersistPtrHolder pph = (PersistPtrHolder) 
record;
 
@@ -208,7 +210,7 @@ public final class HSLFSlideShow extends
 
                // We now know how many unique special records we have, so init
                // the array
-               _mostRecentCoreRecords = new 
org.apache.poi.hslf.record.Record[mostRecentByBytes.size()];
+               _mostRecentCoreRecords = new Record[mostRecentByBytes.size()];
 
                // We'll also want to be able to turn the slide IDs into a 
position
                // in this array
@@ -225,7 +227,7 @@ public final class HSLFSlideShow extends
                }
 
                // Now convert the byte offsets back into record offsets
-               for (org.apache.poi.hslf.record.Record record : 
_hslfSlideShow.getRecords()) {
+               for (Record record : _hslfSlideShow.getRecords()) {
                        if (!(record instanceof PositionDependentRecord)) {
                 continue;
             }
@@ -253,7 +255,7 @@ public final class HSLFSlideShow extends
                }
 
                // Now look for the interesting records in there
-               for (org.apache.poi.hslf.record.Record record : 
_mostRecentCoreRecords) {
+               for (Record record : _mostRecentCoreRecords) {
                        // Check there really is a record at this number
                        if (record != null) {
                                // Find the Document, and interesting things in 
it
@@ -272,7 +274,7 @@ public final class HSLFSlideShow extends
         * For a given SlideAtomsSet, return the core record, based on the refID
         * from the SlidePersistAtom
         */
-       public org.apache.poi.hslf.record.Record 
getCoreRecordForSAS(SlideAtomsSet sas) {
+       public Record getCoreRecordForSAS(SlideAtomsSet sas) {
                SlidePersistAtom spa = sas.getSlidePersistAtom();
                int refID = spa.getRefID();
                return getCoreRecordForRefID(refID);
@@ -285,13 +287,12 @@ public final class HSLFSlideShow extends
         * @param refID
         *            the refID
         */
-       public org.apache.poi.hslf.record.Record getCoreRecordForRefID(int 
refID) {
+       public Record getCoreRecordForRefID(int refID) {
                Integer coreRecordId = _sheetIdToCoreRecordsLookup.get(refID);
                if (coreRecordId != null) {
                        return _mostRecentCoreRecords[coreRecordId];
                }
-               LOG.log(POILogger.ERROR,
-                               "We tried to look up a reference to a core 
record, but there was no core ID for reference ID ", refID);
+               LOG.atError().log("We tried to look up a reference to a core 
record, but there was no core ID for reference ID {}", box(refID));
                return null;
        }
 
@@ -349,7 +350,7 @@ public final class HSLFSlideShow extends
         }
 
         for (SlideAtomsSet sas : masterSLWT.getSlideAtomsSets()) {
-            org.apache.poi.hslf.record.Record r = getCoreRecordForSAS(sas);
+            Record r = getCoreRecordForSAS(sas);
             int sheetNo = sas.getSlidePersistAtom().getSlideIdentifier();
             if (r instanceof Slide) {
                 HSLFTitleMaster master = new HSLFTitleMaster((Slide)r, 
sheetNo);
@@ -375,20 +376,20 @@ public final class HSLFSlideShow extends
         for (SlideAtomsSet notesSet : notesSLWT.getSlideAtomsSets()) {
             idx++;
             // Get the right core record
-            org.apache.poi.hslf.record.Record r = 
getCoreRecordForSAS(notesSet);
+            Record r = getCoreRecordForSAS(notesSet);
             SlidePersistAtom spa = notesSet.getSlidePersistAtom();
 
             String loggerLoc = "A Notes SlideAtomSet at "+idx+" said its 
record was at refID "+spa.getRefID();
 
             // we need to add null-records, otherwise the index references to 
other existing don't work anymore
             if (r == null) {
-                LOG.log(POILogger.WARN, loggerLoc+", but that record didn't 
exist - record ignored.");
+                               LOG.atWarn().log("{}, but that record didn't 
exist - record ignored.", loggerLoc);
                 continue;
             }
 
             // Ensure it really is a notes record
             if (!(r instanceof Notes)) {
-                LOG.log(POILogger.ERROR, loggerLoc, ", but that was actually a 
", r);
+                               LOG.atError().log("{}, but that was actually a 
{}", loggerLoc, r);
                 continue;
             }
 
@@ -416,14 +417,11 @@ public final class HSLFSlideShow extends
             idx++;
             // Get the right core record
             SlidePersistAtom spa = sas.getSlidePersistAtom();
-            org.apache.poi.hslf.record.Record r = getCoreRecordForSAS(sas);
+            Record r = getCoreRecordForSAS(sas);
 
             // Ensure it really is a slide record
             if (!(r instanceof Slide)) {
-                LOG.log(POILogger.ERROR, "A Slide SlideAtomSet at ", idx,
-                        " said its record was at refID ",
-                        spa.getRefID(),
-                        ", but that was actually a ", r);
+                               LOG.atError().log("A Slide SlideAtomSet at {} 
said its record was at refID {}, but that was actually a {}", 
box(idx),box(spa.getRefID()),r);
                 continue;
             }
 
@@ -439,7 +437,7 @@ public final class HSLFSlideShow extends
                 if (notesPos != null && 0 <= notesPos && notesPos < 
_notes.size()) {
                     notes = _notes.get(notesPos);
                 } else {
-                    LOG.log(POILogger.ERROR, "Notes not found for noteId=", 
noteId);
+                    LOG.atError().log("Notes not found for noteId={}", 
box(noteId));
                 }
             }
 
@@ -499,7 +497,7 @@ public final class HSLFSlideShow extends
         * Returns an array of the most recent version of all the interesting
         * records
         */
-       public org.apache.poi.hslf.record.Record[] getMostRecentCoreRecords() {
+       public Record[] getMostRecentCoreRecords() {
                return _mostRecentCoreRecords;
        }
 
@@ -618,13 +616,13 @@ public final class HSLFSlideShow extends
                _slides.get(newSlideNumber - 1).setSlideNumber(newSlideNumber);
                _slides.get(oldSlideNumber - 1).setSlideNumber(oldSlideNumber);
 
-               ArrayList<org.apache.poi.hslf.record.Record> lst = new 
ArrayList<>();
+               ArrayList<Record> lst = new ArrayList<>();
                for (SlideAtomsSet s : sas) {
                        lst.add(s.getSlidePersistAtom());
                        lst.addAll(Arrays.asList(s.getSlideRecords()));
                }
 
-               org.apache.poi.hslf.record.Record[] r = lst.toArray(new 
org.apache.poi.hslf.record.Record[0]);
+               Record[] r = lst.toArray(new Record[0]);
                slwt.setChildRecord(r);
        }
 
@@ -653,7 +651,7 @@ public final class HSLFSlideShow extends
                }
                SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
 
-               List<org.apache.poi.hslf.record.Record> records = new 
ArrayList<>();
+               List<Record> records = new ArrayList<>();
                List<SlideAtomsSet> sa = new ArrayList<>(Arrays.asList(sas));
 
                HSLFSlide removedSlide = _slides.remove(index);
@@ -673,7 +671,7 @@ public final class HSLFSlideShow extends
                        _documentRecord.removeSlideListWithText(slwt);
                } else {
                        slwt.setSlideAtomsSets(sa.toArray(new 
SlideAtomsSet[0]));
-                       slwt.setChildRecord(records.toArray(new 
org.apache.poi.hslf.record.Record[0]));
+                       slwt.setChildRecord(records.toArray(new Record[0]));
                }
 
                // if the removed slide had notes - remove references to them 
too
@@ -697,7 +695,7 @@ public final class HSLFSlideShow extends
 
                                if (!na.isEmpty()) {
                                        nslwt.setSlideAtomsSets(na.toArray(new 
SlideAtomsSet[0]));
-                                       
nslwt.setChildRecord(records.toArray(new org.apache.poi.hslf.record.Record[0]));
+                                       
nslwt.setChildRecord(records.toArray(new Record[0]));
                                }
                        }
                        if (na.isEmpty()) {
@@ -759,8 +757,7 @@ public final class HSLFSlideShow extends
 
                // Add in to the list of Slides
                _slides.add(slide);
-               LOG.log(POILogger.INFO, "Added slide ", _slides.size(), " with 
ref ", sp.getRefID(),
-                               " and identifier ", sp.getSlideIdentifier());
+               LOG.atInfo().log("Added slide {} with ref {} and identifier 
{}", box(_slides.size()),box(sp.getRefID()),box(sp.getSlideIdentifier()));
 
                // Add the core records for this new Slide to the record tree
                Slide slideRecord = slide.getSlideRecord();
@@ -1049,7 +1046,7 @@ public final class HSLFSlideShow extends
                ExEmbed exEmbed = new ExEmbed();
         // remove unneccessary infos, so we don't need to specify the type
         // of the ole object multiple times
-        org.apache.poi.hslf.record.Record[] children = 
exEmbed.getChildRecords();
+        Record[] children = exEmbed.getChildRecords();
         exEmbed.removeChild(children[2]);
         exEmbed.removeChild(children[3]);
         exEmbed.removeChild(children[4]);
@@ -1115,7 +1112,7 @@ public final class HSLFSlideShow extends
 
     private int addPersistentObject(PositionDependentRecord slideRecord) {
        slideRecord.setLastOnDiskOffset(HSLFSlideShowImpl.UNSET_OFFSET);
-               
_hslfSlideShow.appendRootLevelRecord((org.apache.poi.hslf.record.Record)slideRecord);
+               _hslfSlideShow.appendRootLevelRecord((Record)slideRecord);
 
         // For position dependent records, hold where they were and now are
         // As we go along, update, and hand over, to any Position Dependent
@@ -1145,7 +1142,7 @@ public final class HSLFSlideShow extends
                int slideOffset = slideRecord.getLastOnDiskOffset();
                slideRecord.setLastOnDiskOffset(slideOffset);
                ptr.addSlideLookup(psrId, slideOffset);
-               LOG.log(POILogger.INFO, "New slide/object ended up at ", 
slideOffset);
+               LOG.atInfo().log("New slide/object ended up at {}", 
box(slideOffset));
 
                return psrId;
     }

Modified: 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
URL: 
http://svn.apache.org/viewvc/poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
 (original)
+++ 
poi/branches/log4j/src/scratchpad/src/org/apache/poi/hslf/usermodel/HSLFSlideShowImpl.java
 Mon Feb  1 14:59:43 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.usermodel.HSLFSlideShow.POWERPOINT_DOCUMENT;
 import static org.apache.poi.hslf.usermodel.HSLFSlideShow.PP95_DOCUMENT;
 import static org.apache.poi.hslf.usermodel.HSLFSlideShow.PP97_DOCUMENT;
@@ -36,6 +37,8 @@ import java.util.Map;
 import java.util.NavigableMap;
 import java.util.TreeMap;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.POIDocument;
 import org.apache.poi.hpsf.PropertySet;
 import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
@@ -60,15 +63,13 @@ import org.apache.poi.sl.usermodel.Pictu
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianConsts;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * This class contains the main functionality for the Powerpoint file
  * "reader". It is only a very basic class for now
  */
 public final class HSLFSlideShowImpl extends POIDocument implements Closeable {
-    private static final POILogger LOG = 
POILogFactory.getLogger(HSLFSlideShowImpl.class);
+    private static final Logger LOG = 
LogManager.getLogger(HSLFSlideShowImpl.class);
 
     static final int UNSET_OFFSET = -1;
 
@@ -82,7 +83,7 @@ public final class HSLFSlideShowImpl ext
     private byte[] _docstream;
 
     // Low level contents
-    private org.apache.poi.hslf.record.Record[] _records;
+    private Record[] _records;
 
     // Raw Pictures contained in the pictures stream
     private List<HSLFPictureData> _pictures;
@@ -246,7 +247,7 @@ public final class HSLFSlideShowImpl ext
         _records = read(_docstream, (int) currentUser.getCurrentEditOffset());
     }
 
-    private org.apache.poi.hslf.record.Record[] read(byte[] docstream, int 
usrOffset) throws IOException {
+    private Record[] read(byte[] docstream, int usrOffset) throws IOException {
         //sort found records by offset.
         //(it is not necessary but SlideShow.findMostRecentCoreRecords() 
expects them sorted)
         NavigableMap<Integer, Record> records = new TreeMap<>(); // offset -> 
record
@@ -256,7 +257,7 @@ public final class HSLFSlideShowImpl ext
 
         for (Map.Entry<Integer, Record> entry : records.entrySet()) {
             Integer offset = entry.getKey();
-            org.apache.poi.hslf.record.Record record = entry.getValue();
+            Record record = entry.getValue();
             Integer persistId = persistIds.get(offset);
             if (record == null) {
                 // all plain records have been already added,
@@ -272,7 +273,7 @@ public final class HSLFSlideShowImpl ext
         }
 
         decryptData.close();
-        return records.values().toArray(new 
org.apache.poi.hslf.record.Record[0]);
+        return records.values().toArray(new Record[0]);
     }
 
     private void initRecordOffsets(byte[] docstream, int usrOffset, 
NavigableMap<Integer, Record> recordMap, Map<Integer, Integer> offset2id) {
@@ -303,7 +304,7 @@ public final class HSLFSlideShowImpl ext
                 int type = LittleEndian.getUShort(docstream, usrOffset + 2);
                 int len = LittleEndian.getInt(docstream, usrOffset + 4);
                 if (ver_inst == 0 && type == 4085 && (len == 0x1C || len == 
0x20)) {
-                    LOG.log(POILogger.WARN, "Repairing invalid user edit 
atom");
+                    LOG.atWarn().log("Repairing invalid user edit atom");
                     usr.setLastUserEditAtomOffset(usrOffset);
                 } else {
                     throw new CorruptPowerPointFileException("Powerpoint 
document contains invalid user edit atom");
@@ -313,7 +314,7 @@ public final class HSLFSlideShowImpl ext
     }
 
     public DocumentEncryptionAtom getDocumentEncryptionAtom() {
-        for (org.apache.poi.hslf.record.Record r : _records) {
+        for (Record r : _records) {
             if (r instanceof DocumentEncryptionAtom) {
                 return (DocumentEncryptionAtom) r;
             }
@@ -329,7 +330,7 @@ public final class HSLFSlideShowImpl ext
         try {
             currentUser = new CurrentUserAtom(getDirectory());
         } catch (IOException ie) {
-            LOG.log(POILogger.ERROR, "Error finding Current User Atom", ie);
+            LOG.atError().withThrowable(ie).log("Error finding Current User 
Atom");
             currentUser = new CurrentUserAtom();
         }
     }
@@ -393,14 +394,13 @@ public final class HSLFSlideShowImpl ext
                 // If they type (including the bonus 0xF018) is 0, skip it
                 PictureType pt = PictureType.forNativeID(type - 0xF018);
                 if (pt == null) {
-                    LOG.log(POILogger.ERROR, "Problem reading picture: Invalid 
image type 0, on picture with length ", imgsize, ".\nYour document will 
probably become corrupted if you save it!");
-                    LOG.log(POILogger.ERROR, "position: ", pos);
+                    LOG.atError().log("Problem reading picture: Invalid image 
type 0, on picture with length {}.\nYour document will probably become 
corrupted if you save it! Position: {}", box(imgsize),box(pos));
                 } else {
                     //The pictstream can be truncated halfway through a 
picture.
                     //This is not a problem if the pictstream contains extra 
pictures
                     //that are not used in any slide -- BUG-60305
                     if (pos + imgsize > pictstream.length) {
-                        LOG.log(POILogger.WARN, "\"Pictures\" stream may have 
ended early. In some circumstances, this is not a problem; " +
+                        LOG.atWarn().log("\"Pictures\" stream may have ended 
early. In some circumstances, this is not a problem; " +
                                 "in others, this could indicate a corrupt 
file");
                         break;
                     }
@@ -417,7 +417,7 @@ public final class HSLFSlideShowImpl ext
                         pict.setIndex(_pictures.size() + 1);        // index 
is 1-based
                         _pictures.add(pict);
                     } catch (IllegalArgumentException e) {
-                        LOG.log(POILogger.ERROR, "Problem reading picture: ", 
e, "\nYour document will probably become corrupted if you save it!");
+                        LOG.atError().withThrowable(e).log("Problem reading 
picture. Your document will probably become corrupted if you save it!");
                     }
                 }
 
@@ -464,7 +464,7 @@ public final class HSLFSlideShowImpl ext
         UserEditAtom usr = null;
         PersistPtrHolder ptr = null;
         CountingOS cos = new CountingOS();
-        for (org.apache.poi.hslf.record.Record record : _records) {
+        for (Record record : _records) {
             // all top level records are position dependent
             assert (record instanceof PositionDependentRecord);
             PositionDependentRecord pdr = (PositionDependentRecord) record;
@@ -506,7 +506,7 @@ public final class HSLFSlideShowImpl ext
         }
 
         try (HSLFSlideShowEncrypted encData = new 
HSLFSlideShowEncrypted(getDocumentEncryptionAtom())) {
-            for (org.apache.poi.hslf.record.Record record : _records) {
+            for (Record record : _records) {
                 assert (record instanceof PositionDependentRecord);
                 // We've already figured out their new location, and
                 // told them that
@@ -718,7 +718,7 @@ public final class HSLFSlideShowImpl ext
     @SuppressWarnings({"UnusedReturnValue", "WeakerAccess"})
     public synchronized int appendRootLevelRecord(Record newRecord) {
         int addedAt = -1;
-        org.apache.poi.hslf.record.Record[] r = new 
org.apache.poi.hslf.record.Record[_records.length + 1];
+        Record[] r = new Record[_records.length + 1];
         boolean added = false;
         for (int i = (_records.length - 1); i >= 0; i--) {
             if (added) {
@@ -770,7 +770,7 @@ public final class HSLFSlideShowImpl ext
     /**
      * Returns an array of all the records found in the slideshow
      */
-    public org.apache.poi.hslf.record.Record[] getRecords() {
+    public Record[] getRecords() {
         return _records;
     }
 
@@ -815,7 +815,7 @@ public final class HSLFSlideShowImpl ext
     public HSLFObjectData[] getEmbeddedObjects() {
         if (_objects == null) {
             List<HSLFObjectData> objects = new ArrayList<>();
-            for (org.apache.poi.hslf.record.Record r : _records) {
+            for (Record r : _records) {
                 if (r instanceof ExOleObjStg) {
                     objects.add(new HSLFObjectData((ExOleObjStg) r));
                 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to