You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ma...@apache.org on 2021/02/01 14:59:47 UTC

svn commit: r1886103 [3/10] - in /poi/branches/log4j: ./ legal/ maven/ osgi/ sonar/ sonar/main/ src/examples/src/org/apache/poi/examples/hssf/usermodel/ src/integrationtest/ src/integrationtest/org/apache/poi/stress/ src/java/org/apache/poi/ src/java/o...

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/EscherGraphics2d.java Mon Feb  1 14:59:43 2021
@@ -17,17 +17,19 @@
 
 package org.apache.poi.hssf.usermodel;
 
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.awt.*;
 import java.awt.font.FontRenderContext;
 import java.awt.font.GlyphVector;
 import java.awt.font.TextLayout;
 import java.awt.geom.AffineTransform;
+import java.awt.geom.Arc2D;
 import java.awt.geom.Area;
 import java.awt.geom.GeneralPath;
 import java.awt.geom.Line2D;
+import java.awt.geom.RoundRectangle2D;
 import java.awt.image.BufferedImage;
 import java.awt.image.BufferedImageOp;
 import java.awt.image.ImageObserver;
@@ -69,7 +71,7 @@ import java.util.Map;
  * </blockquote>
  */
 public final class EscherGraphics2d extends Graphics2D {
-    private static final POILogger LOG = POILogFactory.getLogger(EscherGraphics2d.class);
+    private static final Logger LOG = LogManager.getLogger(EscherGraphics2d.class);
 
     private EscherGraphics _escherGraphics;
     private BufferedImage _img;
@@ -153,15 +155,14 @@ public final class EscherGraphics2d exte
         }
         else
         {
-            if (LOG.check(POILogger.WARN))
-                LOG.log(POILogger.WARN, "draw not fully supported");
+            LOG.atWarn().log("draw not fully supported");
         }
     }
 
     public void drawArc(int x, int y, int width, int height,
 				 int startAngle, int arcAngle)
     {
-        draw(new java.awt.geom.Arc2D.Float(x, y, width, height, startAngle, arcAngle, 0));
+        draw(new Arc2D.Float(x, y, width, height, startAngle, arcAngle, 0));
     }
 
     public void drawGlyphVector(GlyphVector g, float x, float y)
@@ -172,22 +173,19 @@ public final class EscherGraphics2d exte
     public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1,
             int sx2, int sy2, Color bgColor, ImageObserver imageobserver)
     {
-        if (LOG.check( POILogger.WARN ))
-            LOG.log(POILogger.WARN,"drawImage() not supported");
+        LOG.atWarn().log("drawImage() not supported");
         return true;
     }
 
     public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1,
             int sx2, int sy2, ImageObserver imageobserver)
     {
-        if (LOG.check( POILogger.WARN ))
-            LOG.log(POILogger.WARN,"drawImage() not supported");
+        LOG.atWarn().log("drawImage() not supported");
         return drawImage(image, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, null, imageobserver);
     }
     public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, Color bgColor, ImageObserver imageobserver)
     {
-        if (LOG.check( POILogger.WARN ))
-            LOG.log(POILogger.WARN,"drawImage() not supported");
+        LOG.atWarn().log("drawImage() not supported");
         return true;
     }
 
@@ -282,7 +280,7 @@ public final class EscherGraphics2d exte
 
     public void drawRoundRect(int i, int j, int k, int l, int i1, int j1)
     {
-        draw(new java.awt.geom.RoundRectangle2D.Float(i, j, k, l, i1, j1));
+        draw(new RoundRectangle2D.Float(i, j, k, l, i1, j1));
     }
 
     public void drawString(String string, float x, float y)
@@ -311,13 +309,12 @@ public final class EscherGraphics2d exte
 
     public void fill(Shape shape)
     {
-        if (LOG.check( POILogger.WARN ))
-            LOG.log(POILogger.WARN,"fill(Shape) not supported");
+        LOG.atWarn().log("fill(Shape) not supported");
     }
 
     public void fillArc(int i, int j, int k, int l, int i1, int j1)
     {
-        fill(new java.awt.geom.Arc2D.Float(i, j, k, l, i1, j1, 2));
+        fill(new Arc2D.Float(i, j, k, l, i1, j1, 2));
     }
 
     public void fillOval(int x, int y, int width, int height)
@@ -342,7 +339,7 @@ public final class EscherGraphics2d exte
      * @param xPoints array of the <code>x</code> coordinates.
      * @param yPoints array of the <code>y</code> coordinates.
      * @param nPoints the total number of points in the polygon.
-     * @see   java.awt.Graphics#drawPolygon(int[], int[], int)
+     * @see   Graphics#drawPolygon(int[], int[], int)
      */
     public void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
     {
@@ -357,7 +354,7 @@ public final class EscherGraphics2d exte
     public void fillRoundRect(int x, int y, int width, int height,
 				       int arcWidth, int arcHeight)
     {
-        fill(new java.awt.geom.RoundRectangle2D.Float(x, y, width, height, arcWidth, arcHeight));
+        fill(new RoundRectangle2D.Float(x, y, width, height, arcWidth, arcHeight));
     }
 
     public Color getBackground()
@@ -422,7 +419,7 @@ public final class EscherGraphics2d exte
         return _paint;
     }
 
-    public Object getRenderingHint(java.awt.RenderingHints.Key key)
+    public Object getRenderingHint(RenderingHints.Key key)
     {
         return getG2D().getRenderingHint(key);
     }
@@ -510,7 +507,7 @@ public final class EscherGraphics2d exte
         getEscherGraphics().setPaintMode();
     }
 
-    public void setRenderingHint(java.awt.RenderingHints.Key key, Object obj)
+    public void setRenderingHint(RenderingHints.Key key, Object obj)
     {
         getG2D().setRenderingHint(key, obj);
     }
@@ -545,18 +542,6 @@ public final class EscherGraphics2d exte
         getTrans().concatenate(affinetransform);
     }
 
-//    Image transformImage(Image image, Rectangle rectangle, Rectangle rectangle1, ImageObserver imageobserver, Color color1)
-//    {
-//        logger.log(POILogger.WARN,"transformImage() not supported");
-//        return null;
-//    }
-//
-//    Image transformImage(Image image, int ai[], Rectangle rectangle, ImageObserver imageobserver, Color color1)
-//    {
-//        logger.log(POILogger.WARN,"transformImage() not supported");
-//        return null;
-//    }
-
     public void translate(double d, double d1)
     {
         getTrans().translate(d, d1);

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFPatriarch.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFPatriarch.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFPatriarch.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFPatriarch.java Mon Feb  1 14:59:43 2021
@@ -57,7 +57,6 @@ import org.apache.poi.util.StringUtil;
  * little other than act as a container for other shapes and groups.
  */
 public final class HSSFPatriarch implements HSSFShapeContainer, Drawing<HSSFShape> {
-    // private static POILogger log = POILogFactory.getLogger(HSSFPatriarch.class);
     private final List<HSSFShape> _shapes = new ArrayList<>();
 
     private final EscherSpgrRecord _spgrRecord;

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFPolygon.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFPolygon.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFPolygon.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFPolygon.java Mon Feb  1 14:59:43 2021
@@ -17,6 +17,8 @@
 
 package org.apache.poi.hssf.usermodel;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.ddf.EscherArrayProperty;
 import org.apache.poi.ddf.EscherBoolProperty;
 import org.apache.poi.ddf.EscherClientDataRecord;
@@ -34,8 +36,6 @@ import org.apache.poi.hssf.record.Escher
 import org.apache.poi.hssf.record.ObjRecord;
 import org.apache.poi.hssf.record.TextObjectRecord;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  *
@@ -43,7 +43,7 @@ import org.apache.poi.util.POILogger;
 public class HSSFPolygon  extends HSSFSimpleShape {
     public static final short OBJECT_TYPE_MICROSOFT_OFFICE_DRAWING = 0x1E;
 
-    private static final POILogger LOG = POILogFactory.getLogger(HSSFPolygon.class);
+    private static final Logger LOG = LogManager.getLogger(HSSFPolygon.class);
 
     public HSSFPolygon(EscherContainerRecord spContainer, ObjRecord objRecord, TextObjectRecord _textObjectRecord) {
         super(spContainer, objRecord, _textObjectRecord);
@@ -174,11 +174,11 @@ public class HSSFPolygon  extends HSSFSi
      */
     public void setPoints(int[] xPoints, int[] yPoints) {
         if (xPoints.length != yPoints.length){
-        	LOG.log( POILogger.ERROR, "xPoint.length must be equal to yPoints.length");
+        	LOG.atError().log("xPoint.length must be equal to yPoints.length");
             return;
         }
         if (xPoints.length == 0){
-        	LOG.log( POILogger.ERROR, "HSSFPolygon must have at least one point");
+        	LOG.atError().log("HSSFPolygon must have at least one point");
         }
         EscherArrayProperty verticesProp = new EscherArrayProperty(EscherPropertyTypes.GEOMETRY__VERTICES, false, 0);
         verticesProp.setNumberOfElementsInArray(xPoints.length+1);

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFShape.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFShape.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFShape.java Mon Feb  1 14:59:43 2021
@@ -20,6 +20,8 @@ package org.apache.poi.hssf.usermodel;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.ddf.EscherBoolProperty;
 import org.apache.poi.ddf.EscherChildAnchorRecord;
 import org.apache.poi.ddf.EscherClientAnchorRecord;
@@ -35,8 +37,6 @@ import org.apache.poi.hssf.record.Common
 import org.apache.poi.hssf.record.ObjRecord;
 import org.apache.poi.ss.usermodel.Shape;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.StringUtil;
 
 /**
@@ -48,7 +48,7 @@ import org.apache.poi.util.StringUtil;
  * setFlipVertical() or setFlipHorizontally().
  */
 public abstract class HSSFShape implements Shape {
-    private static final POILogger LOG = POILogFactory.getLogger(HSSFShape.class);
+    private static final Logger LOG = LogManager.getLogger(HSSFShape.class);
 
     public static final int LINEWIDTH_ONE_PT = 12700;
     public static final int LINEWIDTH_DEFAULT = 9525;
@@ -374,7 +374,7 @@ public abstract class HSSFShape implemen
             LittleEndian.putInt(property.getPropertyValue(), bos);
             return LittleEndian.getShort(bos.toByteArray(), 2);
         } catch (IOException e) {
-            LOG.log(POILogger.ERROR, "can't determine rotation degree", e);
+            LOG.atError().withThrowable(e).log("can't determine rotation degree");
             return 0;
         }
     }

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java Mon Feb  1 14:59:43 2021
@@ -26,6 +26,9 @@ import java.util.Map;
 import java.util.TreeMap;
 import java.util.TreeSet;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.message.SimpleMessage;
 import org.apache.poi.ddf.EscherRecord;
 import org.apache.poi.hssf.model.DrawingManager2;
 import org.apache.poi.hssf.model.HSSFFormulaParser;
@@ -64,7 +67,10 @@ import org.apache.poi.ss.usermodel.CellR
 import org.apache.poi.ss.usermodel.CellStyle;
 import org.apache.poi.ss.usermodel.DataValidation;
 import org.apache.poi.ss.usermodel.DataValidationHelper;
+import org.apache.poi.ss.usermodel.FormulaEvaluator;
 import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.usermodel.helpers.RowShifter;
 import org.apache.poi.ss.util.CellAddress;
 import org.apache.poi.ss.util.CellRangeAddress;
@@ -76,15 +82,15 @@ import org.apache.poi.ss.util.SheetUtil;
 import org.apache.poi.util.Beta;
 import org.apache.poi.util.Configurator;
 import org.apache.poi.util.Internal;
-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;
 
 /**
  * High level representation of a worksheet.
  */
-public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet {
-    private static final POILogger log = POILogFactory.getLogger(HSSFSheet.class);
-    private static final int DEBUG = POILogger.DEBUG;
+public final class HSSFSheet implements Sheet {
+    private static final Logger LOGGER = LogManager.getLogger(HSSFSheet.class);
 
     /**
      * width of 1px in columns with default width in units of 1/256 of a character width
@@ -122,7 +128,7 @@ public final class HSSFSheet implements
      * scratch.  You should not be calling this from application code (its protected anyhow).
      *
      * @param workbook - The HSSF Workbook object associated with the sheet.
-     * @see org.apache.poi.hssf.usermodel.HSSFWorkbook#createSheet()
+     * @see HSSFWorkbook#createSheet()
      */
     protected HSSFSheet(HSSFWorkbook workbook) {
         _sheet = InternalSheet.createSheet();
@@ -137,7 +143,7 @@ public final class HSSFSheet implements
      *
      * @param workbook - The HSSF Workbook object associated with the sheet.
      * @param sheet    - lowlevel Sheet object this sheet will represent
-     * @see org.apache.poi.hssf.usermodel.HSSFWorkbook#createSheet()
+     * @see HSSFWorkbook#createSheet()
      */
     protected HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet) {
         this._sheet = sheet;
@@ -196,19 +202,16 @@ public final class HSSFSheet implements
         }
 
         Iterator<CellValueRecordInterface> iter = sheet.getCellValueIterator();
-        long timestart = System.currentTimeMillis();
+        long timestart = currentTimeMillis();
 
-        if (log.check( POILogger.DEBUG )) {
-            log.log(DEBUG, "Time at start of cell creating in HSSF sheet = ",
-                    Long.valueOf(timestart));
-        }
+        LOGGER.atDebug().log("Time at start of cell creating in HSSF sheet = {}", box(timestart));
         HSSFRow lastrow = null;
 
         // Add every cell to its row
         while (iter.hasNext()) {
             CellValueRecordInterface cval = iter.next();
 
-            long cellstart = System.currentTimeMillis();
+            long cellstart = currentTimeMillis();
             HSSFRow hrow = lastrow;
 
             if (hrow == null || hrow.getRowNum() != cval.getRow()) {
@@ -229,24 +232,18 @@ public final class HSSFSheet implements
                     hrow = createRowFromRecord(rowRec);
                 }
             }
-            if (log.check( POILogger.DEBUG )) {
+            LOGGER.atDebug().log(() -> {
                 if (cval instanceof Record) {
-                    log.log( DEBUG, "record id = ", Integer.toHexString( ( (org.apache.poi.hssf.record.Record) cval ).getSid() ) );
+                    return new SimpleMessage("record id = " + Integer.toHexString(((Record) cval).getSid()));
                 } else {
-                    log.log( DEBUG, "record = ", cval );
+                    return new SimpleMessage("record = " + cval);
                 }
-            }
+            });
             hrow.createCellFromRecord( cval );
-            if (log.check( POILogger.DEBUG )) {
-                log.log( DEBUG, "record took ",
-                    Long.valueOf( System.currentTimeMillis() - cellstart ) );
-            }
+            LOGGER.atDebug().log("record took {}ms", box(currentTimeMillis() - cellstart));
 
         }
-        if (log.check( POILogger.DEBUG )) {
-            log.log(DEBUG, "total sheet cell creation took ",
-                Long.valueOf(System.currentTimeMillis() - timestart));
-    }
+        LOGGER.atDebug().log("total sheet cell creation took {}ms", box(currentTimeMillis() - timestart));
     }
 
     /**
@@ -254,8 +251,8 @@ public final class HSSFSheet implements
      *
      * @param rownum row number
      * @return High level HSSFRow object representing a row in the sheet
-     * @see org.apache.poi.hssf.usermodel.HSSFRow
-     * @see #removeRow(org.apache.poi.ss.usermodel.Row)
+     * @see HSSFRow
+     * @see #removeRow(Row)
      */
     @Override
     public HSSFRow createRow(int rownum) {
@@ -438,7 +435,7 @@ public final class HSSFSheet implements
             private HSSFEvaluationWorkbook book = HSSFEvaluationWorkbook.create(getWorkbook());
 
             @Override
-            public void visitRecord(org.apache.poi.hssf.record.Record r) {
+            public void visitRecord(Record r) {
                 if (!(r instanceof DVRecord)) {
                     return;
                 }
@@ -815,17 +812,17 @@ public final class HSSFSheet implements
      * Control if Excel should be asked to recalculate all formulas on this sheet
      * when the workbook is opened.<p>
      *
-     * Calculating the formula values with {@link org.apache.poi.ss.usermodel.FormulaEvaluator} is the
+     * Calculating the formula values with {@link FormulaEvaluator} is the
      * recommended solution, but this may be used for certain cases where
      * evaluation in POI is not possible.<p>
      *
      * It is recommended to force recalcuation of formulas on workbook level using
-     * {@link org.apache.poi.ss.usermodel.Workbook#setForceFormulaRecalculation(boolean)}
+     * {@link Workbook#setForceFormulaRecalculation(boolean)}
      * to ensure that all cross-worksheet formuals and external dependencies are updated.
      *
      * @param value true if the application will perform a full recalculation of
      *              this worksheet values when the workbook is opened
-     * @see org.apache.poi.ss.usermodel.Workbook#setForceFormulaRecalculation(boolean)
+     * @see Workbook#setForceFormulaRecalculation(boolean)
      */
     @Override
     public void setForceFormulaRecalculation(boolean value) {
@@ -1773,7 +1770,7 @@ public final class HSSFSheet implements
         // add logic for hyperlinks etc, like in shiftRows()
     }
 
-    protected void insertChartRecords(List<org.apache.poi.hssf.record.Record> records) {
+    protected void insertChartRecords(List<Record> records) {
         int window2Loc = _sheet.findFirstRecordLocBySid(WindowTwoRecord.sid);
         _sheet.getRecords().addAll(window2Loc, records);
     }

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/HSSFWorkbook.java Mon Feb  1 14:59:43 2021
@@ -17,12 +17,15 @@
 
 package org.apache.poi.hssf.usermodel;
 
+import static org.apache.logging.log4j.util.Unbox.box;
 import static org.apache.poi.hssf.model.InternalWorkbook.OLD_WORKBOOK_DIR_ENTRY_NAME;
 import static org.apache.poi.hssf.model.InternalWorkbook.WORKBOOK_DIR_ENTRY_NAMES;
 
+import java.io.BufferedOutputStream;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -44,6 +47,8 @@ import java.util.Set;
 import java.util.regex.Pattern;
 
 import org.apache.commons.codec.digest.DigestUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.POIDocument;
 import org.apache.poi.ddf.EscherBSERecord;
@@ -70,6 +75,7 @@ import org.apache.poi.hssf.record.Drawin
 import org.apache.poi.hssf.record.ExtendedFormatRecord;
 import org.apache.poi.hssf.record.FilePassRecord;
 import org.apache.poi.hssf.record.FontRecord;
+import org.apache.poi.hssf.record.FormatRecord;
 import org.apache.poi.hssf.record.LabelRecord;
 import org.apache.poi.hssf.record.LabelSSTRecord;
 import org.apache.poi.hssf.record.NameRecord;
@@ -110,6 +116,7 @@ import org.apache.poi.ss.usermodel.Sheet
 import org.apache.poi.ss.usermodel.SheetVisibility;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.ss.util.WorkbookUtil;
 import org.apache.poi.util.Configurator;
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.IOUtils;
@@ -117,8 +124,6 @@ import org.apache.poi.util.Internal;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.LittleEndianByteArrayInputStream;
 import org.apache.poi.util.LittleEndianByteArrayOutputStream;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.Removal;
 
 /**
@@ -126,11 +131,11 @@ import org.apache.poi.util.Removal;
  * will construct whether they are reading or writing a workbook.  It is also the
  * top level object for creating new sheets/etc.
  *
- * @see org.apache.poi.hssf.model.InternalWorkbook
- * @see org.apache.poi.hssf.usermodel.HSSFSheet
+ * @see InternalWorkbook
+ * @see HSSFSheet
  */
 @SuppressWarnings("WeakerAccess")
-public final class HSSFWorkbook extends POIDocument implements org.apache.poi.ss.usermodel.Workbook {
+public final class HSSFWorkbook extends POIDocument implements Workbook {
 
     //arbitrarily selected; may need to increase
     private static final int MAX_RECORD_LENGTH = 100_000;
@@ -147,8 +152,6 @@ public final class HSSFWorkbook extends
      */
     private static final int MAX_STYLES = 4030;
 
-    private static final int DEBUG = POILogger.DEBUG;
-
     /**
      * used for compile-time performance/memory optimization.  This determines the
      * initial capacity for the sheet collection.  Its currently set to 3.
@@ -203,7 +206,7 @@ public final class HSSFWorkbook extends
      */
     private MissingCellPolicy missingCellPolicy = MissingCellPolicy.RETURN_NULL_AND_BLANK;
 
-    private static final POILogger log = POILogFactory.getLogger(HSSFWorkbook.class);
+    private static final Logger LOGGER = LogManager.getLogger(HSSFWorkbook.class);
 
     /**
      * The locator of user-defined functions.
@@ -237,7 +240,7 @@ public final class HSSFWorkbook extends
      *
      * @throws IOException if the stream cannot be read
      * @see #HSSFWorkbook(POIFSFileSystem, boolean)
-     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @see POIFSFileSystem
      */
     public HSSFWorkbook(POIFSFileSystem fs) throws IOException {
         this(fs, true);
@@ -253,7 +256,7 @@ public final class HSSFWorkbook extends
      *                      need to. If set, will store all of the POIFSFileSystem
      *                      in memory
      * @throws IOException if the stream cannot be read
-     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @see POIFSFileSystem
      */
     public HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)
             throws IOException {
@@ -300,7 +303,7 @@ public final class HSSFWorkbook extends
      *                      need to. If set, will store all of the POIFSFileSystem
      *                      in memory
      * @throws IOException if the stream cannot be read
-     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @see POIFSFileSystem
      */
     public HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)
             throws IOException {
@@ -318,7 +321,7 @@ public final class HSSFWorkbook extends
      *                      need to. If set, will store all of the POIFSFileSystem
      *                      in memory
      * @throws IOException if the stream cannot be read
-     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @see POIFSFileSystem
      */
     public HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)
             throws IOException {
@@ -340,7 +343,7 @@ public final class HSSFWorkbook extends
         //  it happens to be spelled.
         InputStream stream = directory.createDocumentInputStream(workbookName);
 
-        List<org.apache.poi.hssf.record.Record> records = RecordFactory.createRecords(stream);
+        List<Record> records = RecordFactory.createRecords(stream);
 
         workbook = InternalWorkbook.createWorkbook(records);
         setPropertiesFromWorkbook(workbook);
@@ -355,7 +358,7 @@ public final class HSSFWorkbook extends
                 _sheets.add(new HSSFSheet(this, sheet));
             } catch (UnsupportedBOFType eb) {
                 // Hopefully there's a supported one after this!
-                log.log(POILogger.WARN, "Unsupported BOF found of type " + eb.getType());
+                LOGGER.atWarn().log("Unsupported BOF found of type {}", box(eb.getType()));
             }
         }
 
@@ -375,7 +378,7 @@ public final class HSSFWorkbook extends
      * @throws IOException if the stream cannot be read
      * @see #HSSFWorkbook(InputStream, boolean)
      * @see #HSSFWorkbook(POIFSFileSystem)
-     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @see POIFSFileSystem
      */
     public HSSFWorkbook(InputStream s) throws IOException {
         this(s, true);
@@ -390,7 +393,7 @@ public final class HSSFWorkbook extends
      *                      macros.  This takes more memory, so only say yes if you
      *                      need to.
      * @throws IOException if the stream cannot be read
-     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @see POIFSFileSystem
      * @see #HSSFWorkbook(POIFSFileSystem)
      */
     @SuppressWarnings("resource")   // POIFSFileSystem always closes the stream
@@ -421,13 +424,13 @@ public final class HSSFWorkbook extends
      *
      * @param records a collection of sheet's records.
      * @param offset  the offset to search at
-     * @see org.apache.poi.hssf.record.LabelRecord
-     * @see org.apache.poi.hssf.record.LabelSSTRecord
-     * @see org.apache.poi.hssf.record.SSTRecord
+     * @see LabelRecord
+     * @see LabelSSTRecord
+     * @see SSTRecord
      */
 
-    private void convertLabelRecords(List<org.apache.poi.hssf.record.Record> records, int offset) {
-        log.log(POILogger.DEBUG, "convertLabelRecords called");
+    private void convertLabelRecords(List<Record> records, int offset) {
+        LOGGER.atDebug().log("convertLabelRecords called");
         for (int k = offset; k < records.size(); k++) {
             Record rec = records.get(k);
 
@@ -446,7 +449,7 @@ public final class HSSFWorkbook extends
                 records.add(k, newrec);
             }
         }
-        log.log(POILogger.DEBUG, "convertLabelRecords exit");
+        LOGGER.atDebug().log("convertLabelRecords exit");
     }
 
     /**
@@ -655,7 +658,7 @@ public final class HSSFWorkbook extends
      * allow you to show the data of one sheet when another is seen "selected"
      * in the tabs (at the bottom).
      *
-     * @see org.apache.poi.hssf.usermodel.HSSFSheet#setSelected(boolean)
+     * @see HSSFSheet#setSelected(boolean)
      */
     @Override
     public int getActiveSheetIndex() {
@@ -690,7 +693,7 @@ public final class HSSFWorkbook extends
      * @throws IllegalArgumentException if the name is null or invalid
      *                                  or workbook already contains a sheet with this name
      * @see #createSheet(String)
-     * @see org.apache.poi.ss.util.WorkbookUtil#createSafeSheetName(String nameProposal)
+     * @see WorkbookUtil#createSafeSheetName(String nameProposal)
      */
     @Override
     public void setSheetName(int sheetIx, String name) {
@@ -770,7 +773,7 @@ public final class HSSFWorkbook extends
      * @return index of the sheet (0 based). <tt>-1</tt> if not found
      */
     @Override
-    public int getSheetIndex(org.apache.poi.ss.usermodel.Sheet sheet) {
+    public int getSheetIndex(Sheet sheet) {
         return _sheets.indexOf(sheet);
     }
 
@@ -898,7 +901,7 @@ public final class HSSFWorkbook extends
      * @return Sheet representing the new sheet.
      * @throws IllegalArgumentException if the name is null or invalid
      *                                  or workbook already contains a sheet with this name
-     * @see org.apache.poi.ss.util.WorkbookUtil#createSafeSheetName(String nameProposal)
+     * @see WorkbookUtil#createSafeSheetName(String nameProposal)
      */
     @Override
     public HSSFSheet createSheet(String sheetname) {
@@ -1328,7 +1331,7 @@ public final class HSSFWorkbook extends
      *
      * @param newFile The new File you wish to write the XLS to
      * @throws IOException if anything can't be written.
-     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @see POIFSFileSystem
      */
     @Override
     public void write(File newFile) throws IOException {
@@ -1343,14 +1346,14 @@ public final class HSSFWorkbook extends
      * a new POI POIFSFileSystem, passes in the workbook binary representation and
      * writes it out.
      * <p>
-     * If {@code stream} is a {@link java.io.FileOutputStream} on a networked drive
+     * If {@code stream} is a {@link FileOutputStream} on a networked drive
      * or has a high cost/latency associated with each written byte,
-     * consider wrapping the OutputStream in a {@link java.io.BufferedOutputStream}
+     * consider wrapping the OutputStream in a {@link BufferedOutputStream}
      * to improve write performance.
      *
      * @param stream - the java OutputStream you wish to write the XLS to
      * @throws IOException if anything can't be written.
-     * @see org.apache.poi.poifs.filesystem.POIFSFileSystem
+     * @see POIFSFileSystem
      */
     @Override
     public void write(OutputStream stream) throws IOException {
@@ -1405,7 +1408,7 @@ public final class HSSFWorkbook extends
      */
     private static final class SheetRecordCollector implements RecordVisitor {
 
-        private List<org.apache.poi.hssf.record.Record> _list;
+        private List<Record> _list;
         private int _totalSize;
 
         public SheetRecordCollector() {
@@ -1418,7 +1421,7 @@ public final class HSSFWorkbook extends
         }
 
         @Override
-        public void visitRecord(org.apache.poi.hssf.record.Record r) {
+        public void visitRecord(Record r) {
             _list.add(r);
             _totalSize += r.getRecordSize();
 
@@ -1426,7 +1429,7 @@ public final class HSSFWorkbook extends
 
         public int serialize(int offset, byte[] data) {
             int result = 0;
-            for (org.apache.poi.hssf.record.Record rec : _list) {
+            for (Record rec : _list) {
                 result += rec.serialize(offset + result, data);
             }
             return result;
@@ -1442,9 +1445,7 @@ public final class HSSFWorkbook extends
      * sheets, rows, cells, etc.
      */
     public byte[] getBytes() {
-        if (log.check(POILogger.DEBUG)) {
-            log.log(DEBUG, "HSSFWorkbook.getBytes()");
-        }
+        LOGGER.atDebug().log("HSSFWorkbook.getBytes()");
 
         HSSFSheet[] sheets = getSheets();
         int nSheets = sheets.length;
@@ -1744,8 +1745,8 @@ public final class HSSFWorkbook extends
      * Returns the instance of HSSFDataFormat for this workbook.
      *
      * @return the HSSFDataFormat object
-     * @see org.apache.poi.hssf.record.FormatRecord
-     * @see org.apache.poi.hssf.record.Record
+     * @see FormatRecord
+     * @see Record
      */
     @Override
     public HSSFDataFormat createDataFormat() {
@@ -1929,7 +1930,7 @@ public final class HSSFWorkbook extends
     public List<HSSFPictureData> getAllPictures() {
         // The drawing group record always exists at the top level, so we won't need to do this recursively.
         List<HSSFPictureData> pictures = new ArrayList<>();
-        for (org.apache.poi.hssf.record.Record r : workbook.getRecords()) {
+        for (Record r : workbook.getRecords()) {
             if (r instanceof AbstractEscherHolderRecord) {
                 ((AbstractEscherHolderRecord) r).decode();
                 List<EscherRecord> escherRecords = ((AbstractEscherHolderRecord) r).getEscherRecords();

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/StaticFontMetrics.java Mon Feb  1 14:59:43 2021
@@ -26,8 +26,8 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * Allows the user to lookup the font metrics for a particular font without
@@ -37,7 +37,7 @@ import org.apache.poi.util.POILogger;
  * font. Use a multiplier for other sizes.
  */
 final class StaticFontMetrics {
-    private static final POILogger LOGGER = POILogFactory.getLogger(StaticFontMetrics.class);
+    private static final Logger LOGGER = LogManager.getLogger(StaticFontMetrics.class);
 	/** The font metrics property file we're using */
 	private static Properties fontMetricsProps;
 	/** Our cache of font details we've already looked up */
@@ -109,12 +109,12 @@ final class StaticFontMetrics {
             if (propFileName != null) {
                 propFile = new File(propFileName);
                 if (!propFile.exists()) {
-                    LOGGER.log(POILogger.WARN, "font_metrics.properties not found at path "+propFile.getAbsolutePath());
+					LOGGER.atWarn().log("font_metrics.properties not found at path {}", propFile.getAbsolutePath());
                     propFile = null;
                 }
             }
         } catch (SecurityException e) {
-            LOGGER.log(POILogger.WARN, "Can't access font.metrics.filename system property", e);
+            LOGGER.atWarn().withThrowable(e).log("Can't access font.metrics.filename system property");
         }
 
         try (InputStream metricsIn = (propFile != null)

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/helpers/HSSFColumnShifter.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/helpers/HSSFColumnShifter.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/helpers/HSSFColumnShifter.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/helpers/HSSFColumnShifter.java Mon Feb  1 14:59:43 2021
@@ -17,14 +17,14 @@
 
 package org.apache.poi.hssf.usermodel.helpers;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.ss.formula.FormulaShifter;
 import org.apache.poi.ss.formula.eval.NotImplementedException;
 import org.apache.poi.ss.usermodel.helpers.ColumnShifter;
 import org.apache.poi.util.Beta;
 import org.apache.poi.util.NotImplemented;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * Helper for shifting columns up or down
@@ -35,7 +35,7 @@ import org.apache.poi.util.POILogger;
 // {@link org.apache.poi.xssf.usermodel.helpers.XSSFColumnShifter}
 @Beta
 public final class HSSFColumnShifter extends ColumnShifter {
-    private static final POILogger LOG = POILogFactory.getLogger(HSSFColumnShifter.class);
+    private static final Logger LOG = LogManager.getLogger(HSSFColumnShifter.class);
 
     public HSSFColumnShifter(HSSFSheet sh) {
         super(sh);

Modified: poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/helpers/HSSFRowShifter.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/helpers/HSSFRowShifter.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/helpers/HSSFRowShifter.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/hssf/usermodel/helpers/HSSFRowShifter.java Mon Feb  1 14:59:43 2021
@@ -17,15 +17,13 @@
 
 package org.apache.poi.hssf.usermodel.helpers;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.ss.formula.FormulaShifter;
 import org.apache.poi.ss.formula.eval.NotImplementedException;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.helpers.RowShifter;
 import org.apache.poi.util.NotImplemented;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * Helper for shifting rows up or down
@@ -33,7 +31,7 @@ import org.apache.poi.util.POILogger;
 // non-Javadoc: When possible, code should be implemented in the RowShifter abstract class to avoid duplication with
 // {@link org.apache.poi.xssf.usermodel.helpers.XSSFRowShifter}
 public final class HSSFRowShifter extends RowShifter {
-    private static final POILogger LOG = POILogFactory.getLogger(HSSFRowShifter.class);
+    private static final Logger LOG = LogManager.getLogger(HSSFRowShifter.class);
 
     public HSSFRowShifter(HSSFSheet sh) {
         super(sh);

Modified: poi/branches/log4j/src/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/poifs/crypt/ChunkedCipherOutputStream.java Mon Feb  1 14:59:43 2021
@@ -32,6 +32,8 @@ import javax.crypto.IllegalBlockSizeExce
 import javax.crypto.ShortBufferException;
 
 import com.zaxxer.sparsebits.SparseBitSet;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.poifs.filesystem.DirectoryNode;
 import org.apache.poi.poifs.filesystem.POIFSWriterEvent;
@@ -40,13 +42,11 @@ 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 org.apache.poi.util.TempFile;
 
 @Internal
 public abstract class ChunkedCipherOutputStream extends FilterOutputStream {
-    private static final POILogger LOG = POILogFactory.getLogger(ChunkedCipherOutputStream.class);
+    private static final Logger LOG = LogManager.getLogger(ChunkedCipherOutputStream.class);
     //arbitrarily selected; may need to increase
     private static final int MAX_RECORD_LENGTH = 100_000;
 
@@ -257,7 +257,7 @@ public abstract class ChunkedCipherOutpu
     @Override
     public void close() throws IOException {
         if (isClosed) {
-            LOG.log(POILogger.DEBUG, "ChunkedCipherOutputStream was already closed - ignoring");
+            LOG.atDebug().log("ChunkedCipherOutputStream was already closed - ignoring");
             return;
         }
 
@@ -324,7 +324,7 @@ public abstract class ChunkedCipherOutpu
                 }
 
                 if (!fileOut.delete()) {
-                    LOG.log(POILogger.ERROR, "Can't delete temporary encryption file: ", fileOut);
+                    LOG.atError().log("Can't delete temporary encryption file: {}", fileOut);
                 }
             } catch (IOException e) {
                 throw new EncryptedDocumentException(e);

Modified: poi/branches/log4j/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/poifs/crypt/standard/StandardEncryptor.java Mon Feb  1 14:59:43 2021
@@ -36,6 +36,8 @@ import javax.crypto.Cipher;
 import javax.crypto.CipherOutputStream;
 import javax.crypto.SecretKey;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.EncryptedDocumentException;
 import org.apache.poi.poifs.crypt.CryptoFunctions;
 import org.apache.poi.poifs.crypt.DataSpaceMapUtils;
@@ -49,12 +51,10 @@ import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndianByteArrayOutputStream;
 import org.apache.poi.util.LittleEndianConsts;
 import org.apache.poi.util.LittleEndianOutputStream;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.TempFile;
 
 public class StandardEncryptor extends Encryptor {
-    private static final POILogger LOG = POILogFactory.getLogger(StandardEncryptor.class);
+    private static final Logger LOG = LogManager.getLogger(StandardEncryptor.class);
 
     protected StandardEncryptor() {}
 
@@ -193,7 +193,7 @@ public class StandardEncryptor extends E
                     IOUtils.copy(fis, leos);
                 }
                 if (!fileOut.delete()) {
-                    LOG.log(POILogger.ERROR, "Can't delete temporary encryption file: ", fileOut);
+                    LOG.atError().log("Can't delete temporary encryption file: {}", fileOut);
                 }
 
                 leos.close();

Modified: poi/branches/log4j/src/java/org/apache/poi/poifs/filesystem/POIFSDocumentPath.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/poifs/filesystem/POIFSDocumentPath.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/poifs/filesystem/POIFSDocumentPath.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/poifs/filesystem/POIFSDocumentPath.java Mon Feb  1 14:59:43 2021
@@ -25,8 +25,8 @@ import java.util.Objects;
 import java.util.function.Predicate;
 import java.util.stream.Stream;
 
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 /**
  * Class POIFSDocumentPath
@@ -34,7 +34,7 @@ import org.apache.poi.util.POILogger;
 
 public class POIFSDocumentPath {
 
-    private static final POILogger log = POILogFactory.getLogger(POIFSDocumentPath.class);
+    private static final Logger LOGGER = LogManager.getLogger(POIFSDocumentPath.class);
 
     private final String[] components;
     private int hashcode; //lazy-compute hashCode

Modified: poi/branches/log4j/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java Mon Feb  1 14:59:43 2021
@@ -34,6 +34,8 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.commons.math3.util.ArithmeticUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.EmptyFileException;
 import org.apache.poi.poifs.common.POIFSBigBlockSize;
 import org.apache.poi.poifs.common.POIFSConstants;
@@ -49,8 +51,6 @@ import org.apache.poi.poifs.storage.BATB
 import org.apache.poi.poifs.storage.HeaderBlock;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.Internal;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * <p>This is the main class of the POIFS system; it manages the entire
@@ -63,7 +63,7 @@ public class POIFSFileSystem extends Blo
     //arbitrarily selected; may need to increase
     private static final int MAX_RECORD_LENGTH = 100_000;
 
-    private static final POILogger LOG = POILogFactory.getLogger(POIFSFileSystem.class);
+    private static final Logger LOG = LogManager.getLogger(POIFSFileSystem.class);
 
     /**
      * Maximum number size (in blocks) of the allocation table as supported by
@@ -327,7 +327,7 @@ public class POIFSFileSystem extends Blo
             }
             // else not success? Try block did not complete normally
             // just print stack trace and leave original ex to be thrown
-            LOG.log(POILogger.ERROR, "can't close input stream", e);
+            LOG.atError().withThrowable(e).log("can't close input stream");
         }
     }
 

Modified: poi/branches/log4j/src/java/org/apache/poi/poifs/macros/VBAMacroReader.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/poifs/macros/VBAMacroReader.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/poifs/macros/VBAMacroReader.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/poifs/macros/VBAMacroReader.java Mon Feb  1 14:59:43 2021
@@ -17,6 +17,7 @@
 
 package org.apache.poi.poifs.macros;
 
+import static org.apache.logging.log4j.util.Unbox.box;
 import static org.apache.poi.util.StringUtil.endsWithIgnoreCase;
 import static org.apache.poi.util.StringUtil.startsWithIgnoreCase;
 
@@ -37,6 +38,8 @@ import java.util.Map;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.poifs.filesystem.DirectoryNode;
 import org.apache.poi.poifs.filesystem.DocumentInputStream;
 import org.apache.poi.poifs.filesystem.DocumentNode;
@@ -49,8 +52,6 @@ import org.apache.poi.util.CodePageUtil;
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.IOUtils;
 import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 import org.apache.poi.util.RLEDecompressingInputStream;
 import org.apache.poi.util.StringUtil;
 
@@ -68,7 +69,7 @@ import org.apache.poi.util.StringUtil;
  * @since 3.15-beta2
  */
 public class VBAMacroReader implements Closeable {
-    private static final POILogger LOGGER = POILogFactory.getLogger(VBAMacroReader.class);
+    private static final Logger LOGGER = LogManager.getLogger(VBAMacroReader.class);
 
     //arbitrary limit on size of strings to read, etc.
     private static final int MAX_STRING_LENGTH = 20000;
@@ -663,9 +664,7 @@ public class VBAMacroReader implements C
             }
 
         }
-        if (records >= maxNameRecords) {
-            LOGGER.log(POILogger.WARN, "Hit max name records to read ("+maxNameRecords+"). Stopped early.");
-        }
+        LOGGER.atWarn().log("Hit max name records to read (" + maxNameRecords + "). Stopped early.");
     }
 
     private static String readUnicode(InputStream is, int maxLength) throws IOException {
@@ -684,7 +683,7 @@ public class VBAMacroReader implements C
             read += 2;
         }
         if (read >= maxLength) {
-            LOGGER.log(POILogger.WARN, "stopped reading unicode name after "+read+" bytes");
+            LOGGER.atWarn().log("stopped reading unicode name after {} bytes", box(read));
         }
         return new String (bos.toByteArray(), StandardCharsets.UTF_16LE);
     }
@@ -747,21 +746,21 @@ public class VBAMacroReader implements C
                     if (module != null) {
                         module.moduleType = ModuleType.Document;
                     } else {
-                        LOGGER.log(POILogger.WARN, "couldn't find module with name: "+mn);
+                        LOGGER.atWarn().log("couldn't find module with name: {}", mn);
                     }
                 } else if ("Module".equals(tokens[0]) && tokens.length > 1) {
                     ModuleImpl module = getModule(tokens[1], moduleNameMap, modules);
                     if (module != null) {
                         module.moduleType = ModuleType.Module;
                     } else {
-                        LOGGER.log(POILogger.WARN, "couldn't find module with name: "+tokens[1]);
+                        LOGGER.atWarn().log("couldn't find module with name: {}", tokens[1]);
                     }
                 } else if ("Class".equals(tokens[0]) && tokens.length > 1) {
                     ModuleImpl module = getModule(tokens[1], moduleNameMap, modules);
                     if (module != null) {
                         module.moduleType = ModuleType.Class;
                     } else {
-                        LOGGER.log(POILogger.WARN, "couldn't find module with name: "+tokens[1]);
+                        LOGGER.atWarn().log("couldn't find module with name: {}", tokens[1]);
                     }
                 }
             }

Modified: poi/branches/log4j/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/poifs/nio/FileBackedDataSource.java Mon Feb  1 14:59:43 2021
@@ -29,15 +29,15 @@ import java.nio.channels.FileChannel;
 import java.nio.channels.WritableByteChannel;
 import java.util.IdentityHashMap;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * A POIFS {@link DataSource} backed by a File
  */
 public class FileBackedDataSource extends DataSource implements Closeable {
-    private static final POILogger LOG = POILogFactory.getLogger(FileBackedDataSource.class);
+    private static final Logger LOG = LogManager.getLogger(FileBackedDataSource.class);
 
     private final FileChannel channel;
     private Long channelSize;
@@ -195,10 +195,10 @@ public class FileBackedDataSource extend
             try {
                 CleanerUtil.getCleaner().freeBuffer(buffer);
             } catch (IOException e) {
-                LOG.log(POILogger.WARN, "Failed to unmap the buffer", e);
+                LOG.atWarn().withThrowable(e).log("Failed to unmap the buffer");
             }
         } else {
-            LOG.log(POILogger.DEBUG, CleanerUtil.UNMAP_NOT_SUPPORTED_REASON);
+            LOG.atDebug().log(CleanerUtil.UNMAP_NOT_SUPPORTED_REASON);
         }
     }
 }

Modified: poi/branches/log4j/src/java/org/apache/poi/poifs/property/PropertyTable.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/poifs/property/PropertyTable.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/poifs/property/PropertyTable.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/poifs/property/PropertyTable.java Mon Feb  1 14:59:43 2021
@@ -24,6 +24,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Stack;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.poifs.common.POIFSBigBlockSize;
 import org.apache.poi.poifs.common.POIFSConstants;
 import org.apache.poi.poifs.filesystem.BATManaged;
@@ -31,8 +33,8 @@ import org.apache.poi.poifs.filesystem.P
 import org.apache.poi.poifs.filesystem.POIFSStream;
 import org.apache.poi.poifs.storage.HeaderBlock;
 import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
+
+import static org.apache.logging.log4j.util.Unbox.box;
 
 /**
  * This class embodies the Property Table for a {@link POIFSFileSystem};
@@ -41,7 +43,7 @@ import org.apache.poi.util.POILogger;
  * chain of blocks.
  */
 public final class PropertyTable implements BATManaged {
-    private static final POILogger LOG = POILogFactory.getLogger(PropertyTable.class);
+    private static final Logger LOG = LogManager.getLogger(PropertyTable.class);
 
     //arbitrarily selected; may need to increase
     private static final int MAX_RECORD_LENGTH = 100_000;
@@ -96,8 +98,7 @@ public final class PropertyTable impleme
                     // Looks to be a truncated block
                     // This isn't allowed, but some third party created files
                     //  sometimes do this, and we can normally read anyway
-                    LOG.log(POILogger.WARN, "Short Property Block, ", bb.remaining(),
-                            " bytes instead of the expected " + _bigBigBlockSize.getBigBlockSize());
+                    LOG.atWarn().log("Short Property Block, {} bytes instead of the expected {}", box(bb.remaining()),box(_bigBigBlockSize.getBigBlockSize()));
                     toRead = bb.remaining();
                 }
 
@@ -247,8 +248,7 @@ public final class PropertyTable impleme
         if (! Property.isValidIndex(index))
             return false;
         if (index < 0 || index >= _properties.size()) {
-            LOG.log(POILogger.WARN, "Property index " + index +
-                    "outside the valid range 0.."+_properties.size());
+            LOG.atWarn().log("Property index {} outside the valid range 0..{}", box(index),box(_properties.size()));
             return false;
         }
         return true;

Modified: poi/branches/log4j/src/java/org/apache/poi/sl/draw/BitmapImageRenderer.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/sl/draw/BitmapImageRenderer.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/sl/draw/BitmapImageRenderer.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/sl/draw/BitmapImageRenderer.java Mon Feb  1 14:59:43 2021
@@ -40,16 +40,16 @@ import javax.imageio.ImageTypeSpecifier;
 import javax.imageio.stream.ImageInputStream;
 import javax.imageio.stream.MemoryCacheImageInputStream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.sl.usermodel.PictureData.PictureType;
 import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 /**
  * For now this class renders only images supported by the javax.imageio.ImageIO framework.
  **/
 public class BitmapImageRenderer implements ImageRenderer {
-    private static final POILogger LOG = POILogFactory.getLogger(BitmapImageRenderer.class);
+    private static final Logger LOG = LogManager.getLogger(BitmapImageRenderer.class);
 
     protected BufferedImage img;
 
@@ -200,7 +200,7 @@ public class BitmapImageRenderer impleme
                 // multiple locations above ...
                 throw lastException;
             }
-            LOG.log(POILogger.WARN, "Content-type: "+contentType+" is not support. Image ignored.");
+            LOG.atWarn().log("Content-type: {} is not support. Image ignored.", contentType);
             return null;
         }
 

Modified: poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawPaint.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawPaint.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawPaint.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawPaint.java Mon Feb  1 14:59:43 2021
@@ -46,6 +46,8 @@ import java.util.TreeMap;
 import java.util.function.BiFunction;
 import java.util.stream.Stream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.sl.usermodel.AbstractColorStyle;
 import org.apache.poi.sl.usermodel.ColorStyle;
 import org.apache.poi.sl.usermodel.Insets2D;
@@ -57,8 +59,6 @@ import org.apache.poi.sl.usermodel.Paint
 import org.apache.poi.sl.usermodel.PaintStyle.TexturePaint;
 import org.apache.poi.sl.usermodel.PlaceableShape;
 import org.apache.poi.util.Dimension2DDouble;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 
 /**
@@ -69,7 +69,9 @@ import org.apache.poi.util.POILogger;
 public class DrawPaint {
     // HSL code is public domain - see https://tips4java.wordpress.com/contact-us/
 
-    private static final POILogger LOG = POILogFactory.getLogger(DrawPaint.class);
+    // HSL code is public domain - see https://tips4java.wordpress.com/contact-us/
+
+    private static final Logger LOG = LogManager.getLogger(DrawPaint.class);
 
     private static final Color TRANSPARENT = new Color(1f,1f,1f,0f);
 
@@ -286,7 +288,7 @@ public class DrawPaint {
 
             BufferedImage image = renderer.getImage(imgDim);
             if(image == null) {
-                LOG.log(POILogger.ERROR, "Can't load image data");
+                LOG.atError().log("Can't load image data");
                 return TRANSPARENT;
             }
 
@@ -336,7 +338,7 @@ public class DrawPaint {
             // TODO: check why original bitmaps scale/behave differently to vector based images
             return new DrawTexturePaint(image, s, fill, flipX, flipY, renderer instanceof BitmapImageRenderer);
         } catch (IOException e) {
-            LOG.log(POILogger.ERROR, "Can't load image data - using transparent color", e);
+            LOG.atError().withThrowable(e).log("Can't load image data - using transparent color");
             return TRANSPARENT;
         }
     }
@@ -796,10 +798,10 @@ public class DrawPaint {
         try {
             graphics.fill(shape);
         } catch (ArrayIndexOutOfBoundsException e) {
-            LOG.log(POILogger.WARN, "IBM JDK failed with TexturePaintContext AIOOBE - try adding the following to the VM parameter:\n" +
+            LOG.atWarn().withThrowable(e).log("IBM JDK failed with TexturePaintContext AIOOBE - try adding the following to the VM parameter:\n" +
                 "-Xjit:exclude={sun/java2d/pipe/AlphaPaintPipe.renderPathTile(Ljava/lang/Object;[BIIIIII)V} and " +
                 "search for 'JIT Problem Determination for IBM SDK using -Xjit' (http://www-01.ibm.com/support/docview.wss?uid=swg21294023) " +
-                "for how to add/determine further excludes", e);
+                "for how to add/determine further excludes");
         }
     }
 }

Modified: poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawPictureShape.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawPictureShape.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawPictureShape.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawPictureShape.java Mon Feb  1 14:59:43 2021
@@ -27,17 +27,17 @@ import java.util.ServiceLoader;
 import java.util.function.Supplier;
 import java.util.stream.StreamSupport;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.poi.common.usermodel.PictureType;
 import org.apache.poi.poifs.filesystem.FileMagic;
 import org.apache.poi.sl.usermodel.PictureData;
 import org.apache.poi.sl.usermodel.PictureShape;
 import org.apache.poi.sl.usermodel.RectAlign;
-import org.apache.poi.util.POILogFactory;
-import org.apache.poi.util.POILogger;
 
 
 public class DrawPictureShape extends DrawSimpleShape {
-    private static final POILogger LOG = POILogFactory.getLogger(DrawPictureShape.class);
+    private static final Logger LOG = LogManager.getLogger(DrawPictureShape.class);
 
     public DrawPictureShape(PictureShape<?,?> shape) {
         super(shape);
@@ -69,7 +69,7 @@ public class DrawPictureShape extends Dr
                     return;
                 }
             } catch (IOException e) {
-                LOG.log(POILogger.ERROR, "image can't be loaded/rendered.", e);
+                LOG.atError().withThrowable(e).log("image can't be loaded/rendered.");
             }
         }
     }
@@ -93,8 +93,8 @@ public class DrawPictureShape extends Dr
 
         // the fallback is the BitmapImageRenderer, at least it gracefully handles invalid images
         final Supplier<ImageRenderer> getFallback = () -> {
-            LOG.log(POILogger.WARN, "No suitable image renderer found for content-type '",
-                contentType, "' - include poi-scratchpad (for wmf/emf) or poi-ooxml (for svg) jars!");
+            LOG.atWarn().log("No suitable image renderer found for content-type '{}' - include " +
+                    "poi-scratchpad (for wmf/emf) or poi-ooxml (for svg) jars!", contentType);
             return fallback;
         };
 

Modified: poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java
URL: http://svn.apache.org/viewvc/poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java?rev=1886103&r1=1886102&r2=1886103&view=diff
==============================================================================
--- poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java (original)
+++ poi/branches/log4j/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java Mon Feb  1 14:59:43 2021
@@ -37,6 +37,8 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+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.FontGroup.FontGroupRange;
 import org.apache.poi.common.usermodel.fonts.FontInfo;
@@ -57,12 +59,12 @@ import org.apache.poi.sl.usermodel.TextS
 import org.apache.poi.sl.usermodel.TextShape.TextDirection;
 import org.apache.poi.util.Internal;
 import org.apache.poi.util.LocaleUtil;
-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;
+
 public class DrawTextParagraph implements Drawable {
-    private static final POILogger LOG = POILogFactory.getLogger(DrawTextParagraph.class);
+    private static final Logger LOG = LogManager.getLogger(DrawTextParagraph.class);
 
     /** Keys for passing hyperlinks to the graphics context */
     public static final XlinkAttribute HYPERLINK_HREF = new XlinkAttribute("href");
@@ -713,10 +715,12 @@ public class DrawTextParagraph implement
 
                 if (partBegin < partEnd) {
                     // handle (b) and (c)
-                    attList.add(new AttributedStringData(TextAttribute.FAMILY, fontMapped.getFontName(Locale.ROOT), beginIndex+partBegin, beginIndex+partEnd));
-                    if (LOG.check(POILogger.DEBUG)) {
-                        LOG.log(POILogger.DEBUG, "mapped: ",fontMapped.getFontName(Locale.ROOT)," ",(beginIndex+partBegin)," ",(beginIndex+partEnd)," - ",runText.substring(partBegin, partEnd));
-                    }
+
+                    final String fontName = fontMapped.getFontName(Locale.ROOT);
+                    final int startIndex = beginIndex + partBegin;
+                    final int endIndex = beginIndex + partEnd;
+                    attList.add(new AttributedStringData(TextAttribute.FAMILY, fontName, startIndex, endIndex));
+                    LOG.atDebug().log("mapped: {} {} {} - {}", fontName, box(startIndex),box(endIndex),runText.substring(partBegin, partEnd));
                 }
 
                 // fallback for unsupported glyphs
@@ -725,10 +729,11 @@ public class DrawTextParagraph implement
 
                 if (partBegin < partEnd) {
                     // handle (a) and (b)
-                    attList.add(new AttributedStringData(TextAttribute.FAMILY, fontFallback.getFontName(Locale.ROOT), beginIndex+partBegin, beginIndex+partEnd));
-                    if (LOG.check(POILogger.DEBUG)) {
-                        LOG.log(POILogger.DEBUG, "fallback: ",fontFallback.getFontName(Locale.ROOT)," ",(beginIndex+partBegin)," ",(beginIndex+partEnd)," - ",runText.substring(partBegin, partEnd));
-                    }
+                    final String fontName = fontFallback.getFontName(Locale.ROOT);
+                    final int startIndex = beginIndex + partBegin;
+                    final int endIndex = beginIndex + partEnd;
+                    attList.add(new AttributedStringData(TextAttribute.FAMILY, fontName, startIndex, endIndex));
+                    LOG.atDebug().log("fallback: {} {} {} - {}", fontName, box(startIndex),box(endIndex),runText.substring(partBegin, partEnd));
                 }
             }
 



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