Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java Sun Feb 21 20:57:25 2021 @@ -17,11 +17,11 @@ package org.apache.poi.xssf.usermodel.helpers; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.ss.formula.FormulaShifter; import org.apache.poi.ss.usermodel.helpers.ColumnShifter; import org.apache.poi.util.Beta; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.xssf.usermodel.XSSFSheet; /** @@ -33,7 +33,7 @@ import org.apache.poi.xssf.usermodel.XSS // {@link org.apache.poi.hssf.usermodel.helpers.HSSFColumnShifter} @Beta public final class XSSFColumnShifter extends ColumnShifter { - private static final POILogger LOG = POILogFactory.getLogger(XSSFColumnShifter.class); + private static final Logger LOG = LogManager.getLogger(XSSFColumnShifter.class); public XSSFColumnShifter(XSSFSheet sh) { super(sh);
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java Sun Feb 21 20:57:25 2021 @@ -17,6 +17,8 @@ package org.apache.poi.xssf.usermodel.helpers; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.ss.formula.FormulaShifter; import org.apache.poi.ss.formula.FormulaParser; import org.apache.poi.ss.formula.FormulaType; @@ -27,14 +29,14 @@ import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.helpers.BaseRowColShifter; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.util.Internal; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.xssf.usermodel.*; import org.openxmlformats.schemas.spreadsheetml.x2006.main.*; import java.util.ArrayList; import java.util.List; +import static org.apache.logging.log4j.util.Unbox.box; + /** * Class for code common to {@link XSSFRowShifter} and {@link XSSFColumnShifter} * @@ -42,7 +44,7 @@ import java.util.List; */ @Internal /*private*/ final class XSSFRowColShifter { - private static final POILogger LOG = POILogFactory.getLogger(XSSFRowColShifter.class); + private static final Logger LOG = LogManager.getLogger(XSSFRowColShifter.class); private XSSFRowColShifter() { /*no instances for static classes*/} @@ -151,7 +153,7 @@ import java.util.List; return shiftedFmla; } catch (FormulaParseException fpe) { // Log, but don't change, rather than breaking - LOG.log(POILogger.WARN, "Error shifting formula on row ", row.getRowNum(), fpe); + LOG.atWarn().withThrowable(fpe).log("Error shifting formula on row {}", box(row.getRowNum())); return formula; } } Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java Sun Feb 21 20:57:25 2021 @@ -17,11 +17,11 @@ package org.apache.poi.xssf.usermodel.helpers; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.ss.formula.FormulaShifter; import org.apache.poi.ss.usermodel.helpers.RowShifter; import org.apache.poi.util.Internal; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; @@ -31,7 +31,7 @@ import org.apache.poi.xssf.usermodel.XSS // non-Javadoc: When possible, code should be implemented in the RowShifter abstract class to avoid duplication with // {@link org.apache.poi.hssf.usermodel.helpers.HSSFRowShifter} public final class XSSFRowShifter extends RowShifter { - private static final POILogger LOG = POILogFactory.getLogger(XSSFRowShifter.class); + private static final Logger LOG = LogManager.getLogger(XSSFRowShifter.class); public XSSFRowShifter(XSSFSheet sh) { super(sh); Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java (original) +++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java Sun Feb 21 20:57:25 2021 @@ -36,6 +36,8 @@ import java.util.Map; import javax.xml.namespace.QName; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.ooxml.POIXMLDocument; import org.apache.poi.ooxml.POIXMLDocumentPart; import org.apache.poi.ooxml.POIXMLException; @@ -55,8 +57,6 @@ import org.apache.poi.openxml4j.opc.Targ import org.apache.poi.poifs.crypt.HashAlgorithm; 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.wp.usermodel.HeaderFooterType; import org.apache.poi.xddf.usermodel.chart.XDDFChart; import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy; @@ -81,7 +81,7 @@ import org.openxmlformats.schemas.wordpr */ @SuppressWarnings("unused") public class XWPFDocument extends POIXMLDocument implements Document, IBody { - private static final POILogger LOG = POILogFactory.getLogger(XWPFDocument.class); + private static final Logger LOG = LogManager.getLogger(XWPFDocument.class); protected List<XWPFFooter> footers = new ArrayList<>(); protected List<XWPFHeader> headers = new ArrayList<>(); @@ -310,7 +310,7 @@ public class XWPFDocument extends POIXML /** * returns an Iterator with paragraphs and tables * - * @see org.apache.poi.xwpf.usermodel.IBody#getBodyElements() + * @see IBody#getBodyElements() */ @Override public List<IBodyElement> getBodyElements() { @@ -322,7 +322,7 @@ public class XWPFDocument extends POIXML } /** - * @see org.apache.poi.xwpf.usermodel.IBody#getParagraphs() + * @see IBody#getParagraphs() */ @Override public List<XWPFParagraph> getParagraphs() { @@ -330,7 +330,7 @@ public class XWPFDocument extends POIXML } /** - * @see org.apache.poi.xwpf.usermodel.IBody#getTables() + * @see IBody#getTables() */ @Override public List<XWPFTable> getTables() { @@ -345,7 +345,7 @@ public class XWPFDocument extends POIXML } /** - * @see org.apache.poi.xwpf.usermodel.IBody#getTableArray(int) + * @see IBody#getTableArray(int) */ @Override public XWPFTable getTableArray(int pos) { @@ -629,9 +629,9 @@ public class XWPFDocument extends POIXML /** * Add a new paragraph at position of the cursor. The cursor must be on the - * {@link org.apache.xmlbeans.XmlCursor.TokenType#START} tag of an subelement + * {@link XmlCursor.TokenType#START} tag of an subelement * of the documents body. When this method is done, the cursor passed as - * parameter points to the {@link org.apache.xmlbeans.XmlCursor.TokenType#END} + * parameter points to the {@link XmlCursor.TokenType#END} * of the newly inserted paragraph. * * @param cursor The cursor-position where the new paragraph should be added. @@ -1010,7 +1010,7 @@ public class XWPFDocument extends POIXML int level = Integer.parseInt(parStyle.substring("Heading".length())); toc.addRow(level, par.getText(), 1, "112723803"); } catch (NumberFormatException e) { - LOG.log(POILogger.ERROR, "can't format number in TOC heading", e); + LOG.atError().withThrowable(e).log("can't format number in TOC heading"); } } } @@ -1542,7 +1542,7 @@ public class XWPFDocument extends POIXML * * @param ctTbl * @return a table by its CTTbl-Object or null - * @see org.apache.poi.xwpf.usermodel.IBody#getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl) + * @see IBody#getTable(CTTbl) */ @Override public XWPFTable getTable(CTTbl ctTbl) { @@ -1565,7 +1565,7 @@ public class XWPFDocument extends POIXML /** * Returns the paragraph that of position pos * - * @see org.apache.poi.xwpf.usermodel.IBody#getParagraphArray(int) + * @see IBody#getParagraphArray(int) */ @Override public XWPFParagraph getParagraphArray(int pos) { @@ -1580,7 +1580,7 @@ public class XWPFDocument extends POIXML * Actually it is needed of the class XWPFTableCell. Because you have to know to which part the tableCell * belongs. * - * @see org.apache.poi.xwpf.usermodel.IBody#getPart() + * @see IBody#getPart() */ @Override public POIXMLDocumentPart getPart() { @@ -1592,7 +1592,7 @@ public class XWPFDocument extends POIXML * get the PartType of the body, for example * DOCUMENT, HEADER, FOOTER, FOOTNOTE, * - * @see org.apache.poi.xwpf.usermodel.IBody#getPartType() + * @see IBody#getPartType() */ @Override public BodyType getPartType() { Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java Sun Feb 21 20:57:25 2021 @@ -24,15 +24,15 @@ import java.io.IOException; import java.io.InputStream; import java.util.TreeMap; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; import org.apache.poi.openxml4j.exceptions.InvalidFormatException; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; public final class TestListParts { - private static final POILogger LOG = POILogFactory.getLogger(TestListParts.class); + private static final Logger LOG = LogManager.getLogger(TestListParts.class); private TreeMap<PackagePartName, String> expectedValues; @@ -91,7 +91,7 @@ public final class TestListParts { for (PackagePart part : p.getParts()) { values.put(part.getPartName(), part.getContentType()); - LOG.log(POILogger.DEBUG, part.getPartName()); + LOG.atDebug().log(part.getPartName()); } // Compare expected values with values return by the package Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java Sun Feb 21 20:57:25 2021 @@ -58,6 +58,8 @@ import com.google.common.io.Files; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; import org.apache.commons.compress.archivers.zip.ZipFile; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.EncryptedDocumentException; import org.apache.poi.POIDataSamples; import org.apache.poi.POITestCase; @@ -78,8 +80,6 @@ import org.apache.poi.sl.usermodel.Slide import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.util.IOUtils; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.util.TempFile; import org.apache.poi.xssf.XSSFTestDataSamples; import org.apache.poi.xssf.streaming.SXSSFWorkbook; @@ -98,7 +98,7 @@ import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; public final class TestPackage { - private static final POILogger LOG = POILogFactory.getLogger(TestPackage.class); + private static final Logger LOG = LogManager.getLogger(TestPackage.class); private static final String NS_OOXML_WP_MAIN = "http://schemas.openxmlformats.org/wordprocessingml/2006/main"; private static final String CONTENT_EXT_PROPS = "application/vnd.openxmlformats-officedocument.extended-properties+xml"; private static final POIDataSamples xlsSamples = POIDataSamples.getSpreadSheetInstance(); @@ -458,7 +458,7 @@ public final class TestPackage { for (PackagePart part : p.getParts()) { values.put(part.getPartName(), part.getContentType()); - LOG.log(POILogger.DEBUG, part.getPartName()); + LOG.atDebug().log(part.getPartName()); } // Compare expected values with values return by the package @@ -492,7 +492,7 @@ public final class TestPackage { for (PackagePart part : p.getParts()) { values.put(part.getPartName(), part.getContentType()); - LOG.log(POILogger.DEBUG, part.getPartName()); + LOG.atDebug().log(part.getPartName()); } // Compare expected values with values return by the package Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestRelationships.java Sun Feb 21 20:57:25 2021 @@ -30,9 +30,9 @@ import java.io.InputStream; import java.net.URI; import java.util.regex.Pattern; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.openxml4j.OpenXML4JTestDataSamples; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.junit.jupiter.api.Test; @@ -44,7 +44,7 @@ class TestRelationships { private static final String SHEET_WITH_COMMENTS = "/xl/worksheets/sheet1.xml"; - private static final POILogger LOG = POILogFactory.getLogger(TestPackageCoreProperties.class); + private static final Logger LOG = LogManager.getLogger(TestPackageCoreProperties.class); /** * Test relationships are correctly loaded. This at the moment fails (as of r499) @@ -56,7 +56,7 @@ class TestRelationships { void testLoadRelationships() throws Exception { InputStream is = openSampleStream("sample.xlsx"); try (OPCPackage pkg = OPCPackage.open(is)) { - LOG.log(POILogger.DEBUG, "1: " + pkg); + LOG.atDebug().log("1: {}", pkg); PackageRelationshipCollection rels = pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_DOCUMENT); PackageRelationship coreDocRelationship = rels.getRelationship(0); PackagePart corePart = pkg.getPart(coreDocRelationship); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/poifs/crypt/dsig/TestSignatureInfo.java Sun Feb 21 20:57:25 2021 @@ -78,6 +78,8 @@ import javax.xml.crypto.dsig.XMLSignatur import javax.xml.crypto.dsig.dom.DOMSignContext; import org.apache.jcp.xml.dsig.internal.dom.DOMSignedInfo; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.EncryptedDocumentException; import org.apache.poi.POIDataSamples; import org.apache.poi.ooxml.POIXMLDocument; @@ -101,8 +103,6 @@ import org.apache.poi.poifs.storage.RawD import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.util.IOUtils; import org.apache.poi.util.LocaleUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.util.TempFile; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFClientAnchor; @@ -162,7 +162,7 @@ import org.w3.x2000.x09.xmldsig.Signatur import org.w3c.dom.Document; class TestSignatureInfo { - private static final POILogger LOG = POILogFactory.getLogger(TestSignatureInfo.class); + private static final Logger LOG = LogManager.getLogger(TestSignatureInfo.class); private static final POIDataSamples testdata = POIDataSamples.getXmlDSignInstance(); private static Calendar cal; @@ -357,7 +357,7 @@ class TestSignatureInfo { assertNotNull(result); assertEquals(1, result.size(), "test-file: " + testFile); X509Certificate signer = result.get(0); - LOG.log(POILogger.DEBUG, "signer: ", signer.getSubjectX500Principal()); + LOG.atDebug().log("signer: {}", signer.getSubjectX500Principal()); boolean b = si.verifySignature(); assertTrue(b, "test-file: " + testFile); @@ -385,8 +385,8 @@ class TestSignatureInfo { assertEquals(2, result.size(), "test-file: " + testFile); X509Certificate signer1 = result.get(0); X509Certificate signer2 = result.get(1); - LOG.log(POILogger.DEBUG, "signer 1: ", signer1.getSubjectX500Principal()); - LOG.log(POILogger.DEBUG, "signer 2: ", signer2.getSubjectX500Principal()); + LOG.atDebug().log("signer 1: {}", signer1.getSubjectX500Principal()); + LOG.atDebug().log("signer 2: {}", signer2.getSubjectX500Principal()); boolean b = si.verifySignature(); assertTrue(b, "test-file: " + testFile); @@ -527,8 +527,8 @@ class TestSignatureInfo { } else { TimeStampServiceValidator tspValidator = (validateChain, revocationData) -> { for (X509Certificate certificate : validateChain) { - LOG.log(POILogger.DEBUG, "certificate: ", certificate.getSubjectX500Principal()); - LOG.log(POILogger.DEBUG, "validity: ", certificate.getNotBefore(), " - ", certificate.getNotAfter()); + LOG.atDebug().log("certificate: {}", certificate.getSubjectX500Principal()); + LOG.atDebug().log("validity: {} - {}", certificate.getNotBefore(), certificate.getNotAfter()); } }; signatureConfig.setTspValidator(tspValidator); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/ss/tests/TestWorkbookFactory.java Sun Feb 21 20:57:25 2021 @@ -34,6 +34,8 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.stream.Stream; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.EmptyFileException; import org.apache.poi.EncryptedDocumentException; import org.apache.poi.POIDataSamples; @@ -44,9 +46,6 @@ import org.apache.poi.openxml4j.opc.Pack import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; -import org.apache.poi.util.IOUtils; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.util.SuppressForbidden; import org.apache.poi.util.TempFile; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -63,7 +62,7 @@ public final class TestWorkbookFactory { private static final String[] xlsx_protected = new String[]{"protected_passtika.xlsx", "tika"}; private static final String txt = "SampleSS.txt"; - private static final POILogger LOGGER = POILogFactory.getLogger(TestWorkbookFactory.class); + private static final Logger LOGGER = LogManager.getLogger(TestWorkbookFactory.class); /** * Closes the sample workbook read in from filename. @@ -95,8 +94,7 @@ public final class TestWorkbookFactory { xwb.close(); } else { // TODO: close() re-writes the sample-file?! Resort to revert() for now to close file handle... - LOGGER.log(POILogger.WARN, - "reverting XSSFWorkbook rather than closing it to avoid close() modifying the file on disk. Refer to bug 58779."); + LOGGER.atWarn().log("reverting XSSFWorkbook rather than closing it to avoid close() modifying the file on disk. Refer to bug 58779."); xwb.getPackage().revert(); } } else { Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestFormulaEvaluatorOnXSSF.java Sun Feb 21 20:57:25 2021 @@ -17,6 +17,7 @@ package org.apache.poi.xssf.usermodel; +import static org.apache.logging.log4j.util.Unbox.box; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.fail; @@ -28,6 +29,8 @@ import java.util.List; import java.util.Locale; import java.util.stream.Stream; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.openxml4j.opc.PackageAccess; @@ -40,8 +43,6 @@ import org.apache.poi.ss.usermodel.Formu import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.util.LocaleUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -58,9 +59,9 @@ import org.junit.jupiter.params.provider * */ public final class TestFormulaEvaluatorOnXSSF { - private static final POILogger LOG = POILogFactory.getLogger(TestFormulaEvaluatorOnXSSF.class); + private static final Logger LOG = LogManager.getLogger(TestFormulaEvaluatorOnXSSF.class); - private static XSSFWorkbook workbook; + private static XSSFWorkbook workbook; private static Sheet sheet; private static FormulaEvaluator evaluator; private static Locale userLocale; @@ -244,12 +245,12 @@ public final class TestFormulaEvaluatorO */ private static String getTargetFunctionName(Row r) { if(r == null) { - LOG.log(POILogger.WARN, "Warning - given null row, can't figure out function name"); + LOG.atWarn().log("Given null row, can't figure out function name"); return null; } Cell cell = r.getCell(SS.COLUMN_INDEX_FUNCTION_NAME); if(cell == null) { - LOG.log(POILogger.WARN, "Warning - Row " + r.getRowNum() + " has no cell " + SS.COLUMN_INDEX_FUNCTION_NAME + ", can't figure out function name"); + LOG.atWarn().log("Row {} has no cell " + SS.COLUMN_INDEX_FUNCTION_NAME + ", can't figure out function name", box(r.getRowNum())); return null; } if(cell.getCellType() == CellType.BLANK) { Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMatrixFormulasFromXMLSpreadsheet.java Sun Feb 21 20:57:25 2021 @@ -17,6 +17,7 @@ package org.apache.poi.xssf.usermodel; +import static org.apache.logging.log4j.util.Unbox.box; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -27,6 +28,8 @@ import java.util.List; import java.util.Locale; import java.util.stream.Stream; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.ss.formula.eval.ErrorEval; import org.apache.poi.ss.formula.functions.BaseTestNumeric; import org.apache.poi.ss.usermodel.Cell; @@ -36,8 +39,6 @@ import org.apache.poi.ss.usermodel.Formu import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.util.LocaleUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.xssf.XSSFTestDataSamples; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.params.ParameterizedTest; @@ -46,7 +47,7 @@ import org.junit.jupiter.params.provider public final class TestMatrixFormulasFromXMLSpreadsheet { - private static final POILogger LOG = POILogFactory.getLogger(TestMatrixFormulasFromXMLSpreadsheet.class); + private static final Logger LOG = LogManager.getLogger(TestMatrixFormulasFromXMLSpreadsheet.class); private static XSSFWorkbook workbook; private static Sheet sheet; @@ -208,13 +209,13 @@ public final class TestMatrixFormulasFro */ private static String getTargetFunctionName(Row r) { if(r == null) { - LOG.log(POILogger.WARN, "Warning - given null row, can't figure out function name"); + LOG.atWarn().log("Given null row, can't figure out function name"); return null; } Cell cell = r.getCell(Navigator.START_OPERATORS_COL_INDEX); - LOG.log(POILogger.DEBUG, String.valueOf(Navigator.START_OPERATORS_COL_INDEX)); + LOG.atDebug().log( box(Navigator.START_OPERATORS_COL_INDEX)); if(cell == null) { - LOG.log(POILogger.WARN, "Warning - Row " + r.getRowNum() + " has no cell " + Navigator.START_OPERATORS_COL_INDEX + ", can't figure out function name"); + LOG.atWarn().log("Row {} has no cell " + Navigator.START_OPERATORS_COL_INDEX + ", can't figure out function name", box(r.getRowNum())); return null; } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestMultiSheetFormulaEvaluatorOnXSSF.java Sun Feb 21 20:57:25 2021 @@ -17,6 +17,9 @@ package org.apache.poi.xssf.usermodel; +import static org.apache.logging.log4j.util.Unbox.box; +import static org.apache.poi.xssf.usermodel.TestMultiSheetFormulaEvaluatorOnXSSF.SS.COLUMN_INDEX_FUNCTION_NAME; +import static org.apache.poi.xssf.usermodel.TestMultiSheetFormulaEvaluatorOnXSSF.SS.COLUMN_INDEX_TEST_NAME; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -28,6 +31,8 @@ import java.util.List; import java.util.Locale; import java.util.stream.Stream; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hssf.HSSFTestDataSamples; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.openxml4j.opc.PackageAccess; @@ -38,8 +43,6 @@ import org.apache.poi.ss.usermodel.CellV 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.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; @@ -49,9 +52,9 @@ import org.junit.jupiter.params.provider * Tests formulas for multi sheet reference (i.e. SUM(Sheet1:Sheet5!A1)) */ public final class TestMultiSheetFormulaEvaluatorOnXSSF { - private static final POILogger LOG = POILogFactory.getLogger(TestMultiSheetFormulaEvaluatorOnXSSF.class); + private static final Logger LOG = LogManager.getLogger(TestMultiSheetFormulaEvaluatorOnXSSF.class); - private static XSSFWorkbook workbook; + private static XSSFWorkbook workbook; private static Sheet sheet; private static FormulaEvaluator evaluator; @@ -211,12 +214,12 @@ public final class TestMultiSheetFormula */ private static String getTargetFunctionName(Row r) { if(r == null) { - LOG.log(POILogger.WARN, "Warning - given null row, can't figure out function name"); + LOG.atWarn().log("Given null row, can't figure out function name"); return null; } - Cell cell = r.getCell(SS.COLUMN_INDEX_FUNCTION_NAME); + Cell cell = r.getCell(COLUMN_INDEX_FUNCTION_NAME); if(cell == null) { - LOG.log(POILogger.WARN, "Warning - Row " + r.getRowNum() + " has no cell " + SS.COLUMN_INDEX_FUNCTION_NAME + ", can't figure out function name"); + LOG.atWarn().log("Row {} has no cell " + COLUMN_INDEX_FUNCTION_NAME + ", can't figure out function name", box(r.getRowNum())); return null; } @@ -232,12 +235,12 @@ public final class TestMultiSheetFormula */ private static String getTargetTestName(Row r) { if(r == null) { - LOG.log(POILogger.WARN, "Warning - given null row, can't figure out test name"); + LOG.atWarn().log("Given null row, can't figure out test name"); return null; } - Cell cell = r.getCell(SS.COLUMN_INDEX_TEST_NAME); + Cell cell = r.getCell(COLUMN_INDEX_TEST_NAME); if(cell == null) { - LOG.log(POILogger.WARN, "Warning - Row " + r.getRowNum() + " has no cell " + SS.COLUMN_INDEX_TEST_NAME + ", can't figure out test name"); + LOG.atWarn().log("Row {} has no cell " + COLUMN_INDEX_TEST_NAME + ", can't figure out test name", box(r.getRowNum())); return null; } CellType ct = cell.getCellType(); Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java Sun Feb 21 20:57:25 2021 @@ -17,6 +17,9 @@ package org.apache.poi.xssf.usermodel; +import static java.time.Duration.between; +import static java.time.Instant.now; +import static org.apache.logging.log4j.util.Unbox.box; import static org.apache.poi.extractor.ExtractorFactory.OOXML_PACKAGE; import static org.apache.poi.openxml4j.opc.TestContentType.isOldXercesActive; import static org.junit.jupiter.api.Assertions.*; @@ -31,7 +34,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.charset.StandardCharsets; -import java.time.Duration; import java.time.Instant; import java.util.Arrays; import java.util.Calendar; @@ -45,6 +47,8 @@ import java.util.TreeMap; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipFile; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.POIDataSamples; import org.apache.poi.common.usermodel.HyperlinkType; import org.apache.poi.hssf.HSSFITestDataProvider; @@ -96,8 +100,6 @@ import org.apache.poi.ss.util.CellRefere import org.apache.poi.ss.util.CellUtil; import org.apache.poi.util.LocaleUtil; import org.apache.poi.util.NullOutputStream; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.util.TempFile; import org.apache.poi.util.XMLHelper; import org.apache.poi.xssf.SXSSFITestDataProvider; @@ -117,7 +119,6 @@ import org.openxmlformats.schemas.spread import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedNames; -import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTIgnoredErrors; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMergeCell; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTMergeCells; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet; @@ -127,7 +128,7 @@ import org.xml.sax.SAXParseException; import org.xml.sax.XMLReader; public final class TestXSSFBugs extends BaseTestBugzillaIssues { - private static final POILogger LOG = POILogFactory.getLogger(TestXSSFBugs.class); + private static final Logger LOG = LogManager.getLogger(TestXSSFBugs.class); public TestXSSFBugs() { super(XSSFITestDataProvider.instance); @@ -2033,7 +2034,6 @@ public final class TestXSSFBugs extends "DEC2BIN(A1), org.apache.poi.ss.formula.eval.StringEval [0]" }) void test57196_WorkbookEvaluator(String formula, String expValue) throws IOException { - String previousLogger = System.getProperty("org.apache.poi.util.POILogger"); try (XSSFWorkbook wb = new XSSFWorkbook()) { XSSFSheet sheet = wb.createSheet("Sheet1"); XSSFRow row = sheet.createRow(0); @@ -2051,13 +2051,6 @@ public final class TestXSSFBugs extends ValueEval ve = workbookEvaluator.evaluate(new XSSFEvaluationCell(cell)); assertEquals(expValue, ve.toString()); - } finally { - if (previousLogger == null) { - System.clearProperty("org.apache.poi.util.POILogger"); - } else { - System.setProperty("org.apache.poi.util.POILogger", previousLogger); - } - System.clearProperty("poi.log.level"); } } @@ -3429,24 +3422,24 @@ public final class TestXSSFBugs extends void test58896WithFile() throws IOException { try (Workbook wb = XSSFTestDataSamples.openSampleWorkbook("58896.xlsx")) { Sheet sheet = wb.getSheetAt(0); - Instant start = Instant.now(); + Instant start = now(); - LOG.log(POILogger.INFO, "Autosizing columns..."); + LOG.atInfo().log("Autosizing columns..."); for (int i = 0; i < 3; ++i) { - LOG.log(POILogger.INFO, "Autosize ", i, " - ", Duration.between(start, Instant.now())); + LOG.atInfo().log("Autosize {} - {}", box(i), between(start, now())); sheet.autoSizeColumn(i); } for (int i = 0; i < 69 - 35 + 1; ++i) for (int j = 0; j < 8; ++j) { int col = 3 + 2 + i * (8 + 2) + j; - LOG.log(POILogger.INFO, "Autosize ", col, " - ", Duration.between(start, Instant.now())); + LOG.atInfo().log("Autosize {} - {}", box(col), between(start, now())); sheet.autoSizeColumn(col); } - LOG.log(POILogger.INFO, Duration.between(start, Instant.now())); + LOG.atInfo().log(between(start, now())); - assertTrue(Duration.between(start, Instant.now()).getSeconds() < 25); + assertTrue(between(start, now()).getSeconds() < 25); } } Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFColGrouping.java Sun Feb 21 20:57:25 2021 @@ -23,8 +23,8 @@ import static org.junit.jupiter.api.Asse import java.io.IOException; -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 org.apache.poi.xssf.XSSFTestDataSamples; import org.junit.jupiter.api.Test; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol; @@ -43,7 +43,7 @@ import org.openxmlformats.schemas.spread */ class TestXSSFColGrouping { - private static final POILogger LOG = POILogFactory.getLogger(TestXSSFColGrouping.class); + private static final Logger LOG = LogManager.getLogger(TestXSSFColGrouping.class); /** @@ -65,7 +65,7 @@ class TestXSSFColGrouping { sheet = wb2.getSheet("test"); CTCols cols = sheet.getCTWorksheet().getColsArray(0); - LOG.log(POILogger.DEBUG, "test52186/cols:" + cols); + LOG.atDebug().log("test52186/cols:{}", cols); for (CTCol col : cols.getColArray()) { assertTrue(col.isSetWidth(), "Col width attribute is unset: " + col); } @@ -91,7 +91,7 @@ class TestXSSFColGrouping { sheet.setColumnGroupCollapsed(4, true); CTCols cols = sheet.getCTWorksheet().getColsArray(0); - LOG.log(POILogger.DEBUG, "test52186_2/cols:" + cols); + LOG.atDebug().log("test52186_2/cols:{}", cols); try (XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(wb1, "testNoColsWithoutWidthWhenGroupingAndCollapsing")) { sheet = wb2.getSheet("test"); @@ -125,7 +125,7 @@ class TestXSSFColGrouping { sheet.groupColumn((short) 2, (short) 3); sheet.getCTWorksheet().getColsArray(0); - LOG.log(POILogger.DEBUG, "testMergingOverlappingCols_OVERLAPS_2_WRAPS/cols:" + cols); + LOG.atDebug().log("testMergingOverlappingCols_OVERLAPS_2_WRAPS/cols:{}", cols); assertEquals(0, cols.getColArray(0).getOutlineLevel()); assertEquals(2, cols.getColArray(0).getMin()); // 1 based @@ -173,7 +173,7 @@ class TestXSSFColGrouping { sheet.groupColumn((short) 1, (short) 5); cols = sheet.getCTWorksheet().getColsArray(0); - LOG.log(POILogger.DEBUG, "testMergingOverlappingCols_OVERLAPS_1_WRAPS/cols:" + cols); + LOG.atDebug().log("testMergingOverlappingCols_OVERLAPS_1_WRAPS/cols:{}", cols); assertEquals(1, cols.getColArray(0).getOutlineLevel()); assertEquals(2, cols.getColArray(0).getMin()); // 1 based @@ -221,7 +221,7 @@ class TestXSSFColGrouping { sheet.groupColumn((short) 3, (short) 5); cols = sheet.getCTWorksheet().getColsArray(0); - LOG.log(POILogger.DEBUG, "testMergingOverlappingCols_OVERLAPS_1_MINOR/cols:" + cols); + LOG.atDebug().log("testMergingOverlappingCols_OVERLAPS_1_MINOR/cols:{}", cols); assertEquals(0, cols.getColArray(0).getOutlineLevel()); assertEquals(3, cols.getColArray(0).getMin()); // 1 based @@ -270,7 +270,7 @@ class TestXSSFColGrouping { sheet.groupColumn((short) 1, (short) 3); cols = sheet.getCTWorksheet().getColsArray(0); - LOG.log(POILogger.DEBUG, "testMergingOverlappingCols_OVERLAPS_2_MINOR/cols:" + cols); + LOG.atDebug().log("testMergingOverlappingCols_OVERLAPS_2_MINOR/cols:{}", cols); assertEquals(1, cols.getColArray(0).getOutlineLevel()); assertEquals(2, cols.getColArray(0).getMin()); // 1 based Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java (original) +++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetMergeRegions.java Sun Feb 21 20:57:25 2021 @@ -16,20 +16,21 @@ ==================================================================== */ package org.apache.poi.xssf.usermodel; +import static org.apache.logging.log4j.util.Unbox.box; import static org.junit.jupiter.api.Assertions.*; import java.io.IOException; import java.util.List; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.ss.util.CellRangeAddress; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.xssf.XSSFTestDataSamples; import org.junit.jupiter.api.Test; class TestXSSFSheetMergeRegions { - private static final POILogger LOG = POILogFactory.getLogger(TestXSSFSheetMergeRegions.class); + private static final Logger LOG = LogManager.getLogger(TestXSSFSheetMergeRegions.class); @Test void testMergeRegionsSpeed() throws IOException { @@ -43,7 +44,7 @@ class TestXSSFSheetMergeRegions { if (millis < 2000) { break; } - LOG.log(POILogger.INFO, "Retry ", i, " because run-time is too high: ", millis); + LOG.atInfo().log("Retry {} because run-time is too high: {}", box(i),box(millis)); } boolean inGump = false; Added: poi/trunk/src/resources/integrationtest/log4j2-test.xml URL: http://svn.apache.org/viewvc/poi/trunk/src/resources/integrationtest/log4j2-test.xml?rev=1886770&view=auto ============================================================================== --- poi/trunk/src/resources/integrationtest/log4j2-test.xml (added) +++ poi/trunk/src/resources/integrationtest/log4j2-test.xml Sun Feb 21 20:57:25 2021 @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<Configuration status="WARN" name="console"> + <Appenders> + <Console name="Console" target="SYSTEM_OUT"> + <PatternLayout pattern="%d [%t] %-5p %c - %m%n" /> + </Console> + </Appenders> + <Loggers> + + <!-- Mute notoriously noisy loggers --> + <Logger name="org.apache.poi.poifs.nio.FileBackedDataSource" level="ERROR" /> + <Logger name="org.apache.poi.hdgf.chunks.Chunk" level="FATAL" /> + <Logger name="org.apache.poi.hpsf.CodePageString" level="ERROR" /> + <Logger name="org.apache.poi.hdgf.chunks.ChunkFactory" level="ERROR" /> + <Logger name="org.apache.poi.hslf.model.textproperties.BitMaskTextProp" level="ERROR" /> + <Logger name="org.apache.poi.hslf.usermodel.HSLFTextParagraph" level="ERROR" /> + <Logger name="org.apache.poi.openxml4j.opc.ZipPackage" level="ERROR" /> + <Logger name="org.apache.poi.POIDocument" level="WARN" /> + <Logger name="org.apache.poi.openxml4j.opc.OPCPackage" level="ERROR" /> + <Logger name="org.apache.poi.xssf.usermodel.XSSFWorkbook" level="ERROR" /> + <Logger name="org.apache.poi.hslf.usermodel.HSLFGroupShape" level="WARN" /> + <Logger name="org.apache.poi.hslf.record.Record" level="ERROR" /> + + <!-- Change to DEBUG or another level to get log output --> + <Root level="DEBUG"> + <AppenderRef ref="Console" /> + </Root> + </Loggers> +</Configuration> Added: poi/trunk/src/resources/test/log4j2-test.xml URL: http://svn.apache.org/viewvc/poi/trunk/src/resources/test/log4j2-test.xml?rev=1886770&view=auto ============================================================================== --- poi/trunk/src/resources/test/log4j2-test.xml (added) +++ poi/trunk/src/resources/test/log4j2-test.xml Sun Feb 21 20:57:25 2021 @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<Configuration status="WARN" name="console"> + <Appenders> + <Console name="Console" target="SYSTEM_OUT"> + <PatternLayout pattern="%d [%t] %-5p %c - %m%n" /> + </Console> + </Appenders> + <Loggers> + + <!-- Mute notoriously noisy loggers --> + <Logger name="org.apache.poi.poifs.nio.FileBackedDataSource" level="ERROR" /> + <Logger name="org.apache.poi.hdgf.chunks.Chunk" level="FATAL" /> + <Logger name="org.apache.poi.hpsf.CodePageString" level="ERROR" /> + <Logger name="org.apache.poi.hdgf.chunks.ChunkFactory" level="ERROR" /> + <Logger name="org.apache.poi.hslf.model.textproperties.BitMaskTextProp" level="ERROR" /> + <Logger name="org.apache.poi.hslf.usermodel.HSLFTextParagraph" level="ERROR" /> + <Logger name="org.apache.poi.openxml4j.opc.ZipPackage" level="ERROR" /> + <Logger name="org.apache.poi.POIDocument" level="WARN" /> + <Logger name="org.apache.poi.openxml4j.opc.OPCPackage" level="ERROR" /> + <Logger name="org.apache.poi.xssf.usermodel.XSSFWorkbook" level="ERROR" /> + <Logger name="org.apache.poi.hslf.usermodel.HSLFGroupShape" level="WARN" /> + <Logger name="org.apache.poi.hslf.record.Record" level="ERROR" /> + + <!-- Change to DEBUG or another level to get log output --> + <Root level="OFF"> + <AppenderRef ref="Console" /> + </Root> + </Loggers> +</Configuration> Modified: poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/extractor/ole2/OLE2ScratchpadExtractorFactory.java Sun Feb 21 20:57:25 2021 @@ -24,6 +24,8 @@ import java.io.InputStream; import java.util.List; import java.util.stream.StreamSupport; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.extractor.ExtractorFactory; import org.apache.poi.extractor.ExtractorProvider; import org.apache.poi.extractor.POIOLE2TextExtractor; @@ -46,19 +48,17 @@ import org.apache.poi.poifs.filesystem.F import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.sl.extractor.SlideShowExtractor; import org.apache.poi.sl.usermodel.SlideShowFactory; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; /** * Scratchpad-specific logic for {@link ExtractorFactory} and - * {@link org.apache.poi.extractor.ExtractorFactory}, which permit the other two to run with + * {@link ExtractorFactory}, which permit the other two to run with * no Scratchpad jar (though without functionality!) * <p>Note - should not be used standalone, always use via the other * two classes</p> */ @SuppressWarnings("WeakerAccess") public class OLE2ScratchpadExtractorFactory implements ExtractorProvider { - private static final POILogger LOG = POILogFactory.getLogger(OLE2ScratchpadExtractorFactory.class); + private static final Logger LOG = LogManager.getLogger(OLE2ScratchpadExtractorFactory.class); @Override public boolean accepts(FileMagic fm) { @@ -169,7 +169,7 @@ public class OLE2ScratchpadExtractorFact .filter(entry -> entry.getName().startsWith("_")) .forEach(dirs::add); } catch(FileNotFoundException e) { - LOG.log(POILogger.INFO, "Ignoring FileNotFoundException while extracting Word document", e.getLocalizedMessage()); + LOG.atInfo().withThrowable(e).log("Ignoring FileNotFoundException while extracting Word document"); // ignored here } //} else if(ext instanceof PowerPointExtractor) { Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/chunks/Chunk.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/chunks/Chunk.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/chunks/Chunk.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/chunks/Chunk.java Sun Feb 21 20:57:25 2021 @@ -19,17 +19,19 @@ package org.apache.poi.hdgf.chunks; import java.util.ArrayList; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hdgf.chunks.ChunkFactory.CommandDefinition; 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; /** * Base of all chunks, which hold data, flags etc */ public final class Chunk { /** For logging warnings about the structure of the file */ - private static final POILogger LOG = POILogFactory.getLogger(Chunk.class); + private static final Logger LOG = LogManager.getLogger(Chunk.class); /** * The contents of the chunk, excluding the header, @@ -179,9 +181,7 @@ public final class Chunk { // Check we seem to have enough data if(offset >= contents.length) { - LOG.log(POILogger.WARN, - "Command offset ", offset, " past end of data at ", contents.length - ); + LOG.atWarn().log("Command offset {} past end of data at {}", box(offset),box(contents.length)); continue; } @@ -241,12 +241,11 @@ public final class Chunk { break; default: - LOG.log(POILogger.INFO, - "Command of type ", type, " not processed!"); + LOG.atInfo().log("Command of type {} not processed!", box(type)); } } catch (Exception e) { - LOG.log(POILogger.ERROR, "Unexpected error processing command, ignoring and continuing. Command: ", command, e); + LOG.atError().withThrowable(e).log("Unexpected error processing command, ignoring and continuing. Command: {}", command); } // Add to the array Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/chunks/ChunkFactory.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/chunks/ChunkFactory.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/chunks/ChunkFactory.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/chunks/ChunkFactory.java Sun Feb 21 20:57:25 2021 @@ -26,10 +26,12 @@ import java.util.HashMap; import java.util.Map; import java.util.StringTokenizer; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.util.IOUtils; import org.apache.poi.util.LocaleUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; + +import static org.apache.logging.log4j.util.Unbox.box; /** * Factor class to create the appropriate chunks, which @@ -59,7 +61,7 @@ public final class ChunkFactory { "/org/apache/poi/hdgf/chunks_parse_cmds.tbl"; /** For logging problems we spot with the file */ - private static final POILogger LOG = POILogFactory.getLogger(ChunkFactory.class); + private static final Logger LOG = LogManager.getLogger(ChunkFactory.class); public ChunkFactory(int version) throws IOException { this.version = version; @@ -139,8 +141,7 @@ public final class ChunkFactory { // Check we have enough data, and tweak the header size // as required if(endOfDataPos > data.length) { - LOG.log(POILogger.WARN, - "Header called for ", header.getLength(), " bytes, but that would take us past the end of the data!"); + LOG.atWarn().log("Header called for {} bytes, but that would take us past the end of the data!", box(header.getLength())); endOfDataPos = data.length; header.setLength(data.length - offset - header.getSizeInBytes()); @@ -165,7 +166,7 @@ public final class ChunkFactory { data, endOfDataPos); endOfDataPos += 8; } else { - LOG.log(POILogger.ERROR, "Header claims a length to ", endOfDataPos, " there's then no space for the trailer in the data (", data.length, ")"); + LOG.atError().log("Header claims a length to {} there's then no space for the trailer in the data ({})", box(endOfDataPos),box(data.length)); } } if(header.hasSeparator()) { @@ -173,7 +174,7 @@ public final class ChunkFactory { separator = new ChunkSeparator( data, endOfDataPos); } else { - LOG.log(POILogger.ERROR, "Header claims a length to ", endOfDataPos, " there's then no space for the separator in the data (", data.length, ")"); + LOG.atError().log("Header claims a length to {} there's then no space for the separator in the data ({})", box(endOfDataPos),box(data.length)); } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/streams/ChunkStream.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/streams/ChunkStream.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/streams/ChunkStream.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/streams/ChunkStream.java Sun Feb 21 20:57:25 2021 @@ -19,15 +19,17 @@ package org.apache.poi.hdgf.streams; import java.util.ArrayList; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hdgf.chunks.Chunk; import org.apache.poi.hdgf.chunks.ChunkFactory; import org.apache.poi.hdgf.chunks.ChunkHeader; import org.apache.poi.hdgf.pointers.Pointer; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; + +import static org.apache.logging.log4j.util.Unbox.box; public final class ChunkStream extends Stream { - private static final POILogger LOG = POILogFactory.getLogger(ChunkStream.class); + private static final Logger LOG = LogManager.getLogger(ChunkStream.class); private final ChunkFactory chunkFactory; /** All the Chunks we contain */ @@ -66,14 +68,14 @@ public final class ChunkStream extends S pos += chunk.getOnDiskSize(); } else { - LOG.log(POILogger.WARN, "Needed ", headerSize, " bytes to create the next chunk header, but only found ", (contents.length-pos), " bytes, ignoring rest of data"); + LOG.atWarn().log("Needed {} bytes to create the next chunk header, but only found {} bytes, ignoring rest of data", box(headerSize),box(contents.length - pos)); pos = contents.length; } } } catch (Exception e) { - LOG.log(POILogger.ERROR, "Failed to create chunk at ", pos, ", ignoring rest of data." + e); + LOG.atError().withThrowable(e).log("Failed to create chunk at {}, ignoring rest of data.", box(pos)); } chunks = chunksA.toArray(new Chunk[0]); Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hemf/record/emf/HemfComment.java Sun Feb 21 20:57:25 2021 @@ -29,6 +29,8 @@ import java.util.Map; import java.util.NoSuchElementException; 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.hemf.draw.HemfGraphics; import org.apache.poi.hemf.draw.HemfGraphics.EmfRenderState; @@ -43,16 +45,16 @@ import org.apache.poi.util.Internal; import org.apache.poi.util.LittleEndianConsts; import org.apache.poi.util.LittleEndianInputStream; import org.apache.poi.util.LocaleUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.util.RecordFormatException; +import static org.apache.logging.log4j.util.Unbox.box; + /** * Contains arbitrary data */ @Internal public class HemfComment { - private static final POILogger LOG = POILogFactory.getLogger(HemfComment.class); + private static final Logger LOG = LogManager.getLogger(HemfComment.class); private static final int MAX_RECORD_LENGTH = HwmfPicture.MAX_RECORD_LENGTH; public enum HemfCommentRecordType { @@ -101,7 +103,7 @@ public class HemfComment { */ default void draw(HemfGraphics ctx) {} - default void calcBounds(Rectangle2D bounds, Rectangle2D viewport, HemfGraphics.EmfRenderState[] renderState) { } + default void calcBounds(Rectangle2D bounds, Rectangle2D viewport, EmfRenderState[] renderState) { } @Override @@ -135,7 +137,7 @@ public class HemfComment { } @Override - public void calcBounds(Rectangle2D window, Rectangle2D viewport, HemfGraphics.EmfRenderState[] renderState) { + public void calcBounds(Rectangle2D window, Rectangle2D viewport, EmfRenderState[] renderState) { data.calcBounds(window, viewport, renderState); } @@ -601,8 +603,7 @@ public class HemfComment { // some emf comments are truncated, so we don't use readFully here int readBytes = leis.read(wmfData); if (readBytes < wmfData.length) { - LOG.log(POILogger.INFO, "Emf comment with WMF: expected ", wmfData.length, - " bytes - received only ", readBytes, " bytes."); + LOG.atInfo().log("Emf comment with WMF: expected {} bytes - received only {} bytes.", box(wmfData.length),box(readBytes)); } return leis.getReadIndex()-startIdx; Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/MAPIDateAttribute.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/MAPIDateAttribute.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/MAPIDateAttribute.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/MAPIDateAttribute.java Sun Feb 21 20:57:25 2021 @@ -23,14 +23,14 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hmef.Attachment; import org.apache.poi.hmef.HMEFMessage; import org.apache.poi.hpsf.Filetime; import org.apache.poi.hsmf.datatypes.MAPIProperty; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LocaleUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; /** * A pure-MAPI attribute holding a Date, which applies @@ -42,7 +42,7 @@ import org.apache.poi.util.POILogger; * @see <a href="https://msdn.microsoft.com/en-us/library/cc433490(v=exchg.80).aspx">[MS-OXPROPS]: Exchange Server Protocols Master Property List</a> */ public final class MAPIDateAttribute extends MAPIAttribute { - private static final POILogger LOG = POILogFactory.getLogger(MAPIDateAttribute.class); + private static final Logger LOG = LogManager.getLogger(MAPIDateAttribute.class); private final Date data; /** @@ -80,7 +80,7 @@ public final class MAPIDateAttribute ext return ((MAPIDateAttribute)attr).getDate(); } - LOG.log(POILogger.WARN, "Warning, non date property found: ", attr); + LOG.atWarn().log("Warning, non date property found: {}", attr); return null; } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/MAPIStringAttribute.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/MAPIStringAttribute.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/MAPIStringAttribute.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/MAPIStringAttribute.java Sun Feb 21 20:57:25 2021 @@ -19,12 +19,12 @@ package org.apache.poi.hmef.attribute; import java.nio.charset.Charset; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hmef.Attachment; import org.apache.poi.hmef.HMEFMessage; import org.apache.poi.hsmf.datatypes.MAPIProperty; import org.apache.poi.hsmf.datatypes.Types; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.util.StringUtil; /** @@ -32,7 +32,7 @@ import org.apache.poi.util.StringUtil; * to a {@link HMEFMessage} or one of its {@link Attachment}s. */ public final class MAPIStringAttribute extends MAPIAttribute { - private static final POILogger LOG = POILogFactory.getLogger(MAPIStringAttribute.class); + private static final Logger LOG = LogManager.getLogger(MAPIStringAttribute.class); private static final String CODEPAGE = "CP1252"; private final String data; @@ -77,7 +77,7 @@ public final class MAPIStringAttribute e return ((MAPIRtfAttribute)attr).getDataString(); } - LOG.log(POILogger.WARN, "Warning, non string property found: ", attr); + LOG.atWarn().log("Warning, non string property found: {}", attr); return null; } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/TNEFDateAttribute.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/TNEFDateAttribute.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/TNEFDateAttribute.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/TNEFDateAttribute.java Sun Feb 21 20:57:25 2021 @@ -26,20 +26,20 @@ import java.util.Calendar; import java.util.Date; import java.util.Locale; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hmef.Attachment; import org.apache.poi.hmef.HMEFMessage; import org.apache.poi.hpsf.Filetime; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LocaleUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; /** * A Date attribute which applies to a {@link HMEFMessage} * or one of its {@link Attachment}s. */ public final class TNEFDateAttribute extends TNEFAttribute { - private static final POILogger LOG = POILogFactory.getLogger(TNEFDateAttribute.class); + private static final Logger LOG = LogManager.getLogger(TNEFDateAttribute.class); private final Date data; /** @@ -95,7 +95,7 @@ public final class TNEFDateAttribute ext return ((TNEFDateAttribute)attr).getDate(); } - LOG.log(POILogger.WARN, "Warning, non date property found: ", attr); + LOG.atWarn().log("Warning, non date property found: {}", attr); return null; } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/TNEFStringAttribute.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/TNEFStringAttribute.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/TNEFStringAttribute.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hmef/attribute/TNEFStringAttribute.java Sun Feb 21 20:57:25 2021 @@ -20,10 +20,10 @@ package org.apache.poi.hmef.attribute; import java.io.IOException; import java.io.InputStream; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hmef.Attachment; import org.apache.poi.hmef.HMEFMessage; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; import org.apache.poi.util.StringUtil; /** @@ -31,7 +31,7 @@ import org.apache.poi.util.StringUtil; * or one of its {@link Attachment}s. */ public final class TNEFStringAttribute extends TNEFAttribute { - private static final POILogger LOG = POILogFactory.getLogger(TNEFStringAttribute.class); + private static final Logger LOG = LogManager.getLogger(TNEFStringAttribute.class); private final String data; /** @@ -78,7 +78,7 @@ public final class TNEFStringAttribute e return ((TNEFStringAttribute)attr).getString(); } - LOG.log(POILogger.WARN, "Warning, non string property found: ", attr); + LOG.atWarn().log("Warning, non string property found: {}", attr); return null; } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/model/QuillContents.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/model/QuillContents.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/model/QuillContents.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/model/QuillContents.java Sun Feb 21 20:57:25 2021 @@ -19,6 +19,8 @@ package org.apache.poi.hpbf.model; import java.io.IOException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hpbf.model.qcbits.QCBit; import org.apache.poi.hpbf.model.qcbits.QCPLCBit; import org.apache.poi.hpbf.model.qcbits.QCTextBit; @@ -27,14 +29,12 @@ import org.apache.poi.poifs.filesystem.D import org.apache.poi.util.IOUtils; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LocaleUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; /** * Read Quill Contents (/Quill/QuillSub/CONTENTS) from an HPBF (Publisher .pub) document */ public final class QuillContents extends HPBFPart { - private static final POILogger LOG = POILogFactory.getLogger(QuillContents.class); + private static final Logger LOG = LogManager.getLogger(QuillContents.class); //arbitrarily selected; may need to increase private static final int MAX_RECORD_LENGTH = 1_000_000; @@ -79,7 +79,7 @@ public final class QuillContents extends bits[i] = QCPLCBit.createQCPLCBit(thingType, bitType, bitData); } catch (ArrayIndexOutOfBoundsException e) { // bug 60685: fall back so that the rest of the document can be read - LOG.log(POILogger.WARN, "Unable to read Quill Contents PLC Bit record. Ignoring this record."); + LOG.atWarn().log("Unable to read Quill Contents PLC Bit record. Ignoring this record."); bits[i] = new UnknownQCBit(thingType, bitType, bitData); } } else { Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java Sun Feb 21 20:57:25 2021 @@ -24,18 +24,20 @@ import java.io.EOFException; import java.io.IOException; import java.util.zip.InflaterInputStream; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hslf.exceptions.HSLFException; import org.apache.poi.sl.image.ImageHeaderPICT; import org.apache.poi.util.IOUtils; -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 Macintosh PICT picture data. */ public final class PICT extends Metafile { - private static final POILogger LOG = POILogFactory.getLogger(PICT.class); + private static final Logger LOG = LogManager.getLogger(PICT.class); @Override @@ -85,7 +87,7 @@ public final class PICT extends Metafile out.write(chunk, 0, lastLen); } // End of picture marker for PICT is 0x00 0xFF - LOG.log(POILogger.ERROR, "PICT zip-stream is invalid, read as much as possible. Uncompressed length of header: ", header.getWmfSize(), " / Read bytes: ", out.size(), e); + LOG.atError().withThrowable(e).log("PICT zip-stream is invalid, read as much as possible. Uncompressed length of header: {} / Read bytes: {}", box(header.getWmfSize()),box(out.size())); } return out.toByteArray(); } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/HSLFMetroShape.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/HSLFMetroShape.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/HSLFMetroShape.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/HSLFMetroShape.java Sun Feb 21 20:57:25 2021 @@ -19,6 +19,8 @@ package org.apache.poi.hslf.model; import java.lang.reflect.Method; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.ddf.AbstractEscherOptRecord; import org.apache.poi.ddf.EscherComplexProperty; import org.apache.poi.ddf.EscherPropertyTypes; @@ -26,8 +28,6 @@ import org.apache.poi.ddf.EscherTertiary import org.apache.poi.hslf.usermodel.HSLFShape; import org.apache.poi.sl.usermodel.Shape; import org.apache.poi.util.Internal; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; /** * Experimental class for metro blobs, i.e. an alternative escher property @@ -35,8 +35,8 @@ import org.apache.poi.util.POILogger; */ @Internal public class HSLFMetroShape<T extends Shape<?,?>> { - private static final POILogger LOGGER = POILogFactory.getLogger(HSLFMetroShape.class); - + private static final Logger LOGGER = LogManager.getLogger(HSLFMetroShape.class); + private final HSLFShape shape; public HSLFMetroShape(HSLFShape shape) { @@ -81,7 +81,7 @@ public class HSLFMetroShape<T extends Sh Method m = ms.getMethod("parseShape", byte[].class); return (T)m.invoke(null, new Object[]{metroBytes}); } catch (Exception e) { - LOGGER.log(POILogger.ERROR, "can't process metro blob, check if all dependencies for POI OOXML are in the classpath.", e); + LOGGER.atError().withThrowable(e).log("can't process metro blob, check if all dependencies for POI OOXML are in the classpath."); return null; } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/BitMaskTextProp.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/BitMaskTextProp.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/BitMaskTextProp.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/BitMaskTextProp.java Sun Feb 21 20:57:25 2021 @@ -22,9 +22,10 @@ import static org.apache.poi.util.Generi import java.util.Map; import java.util.function.Supplier; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.message.SimpleMessage; import org.apache.poi.util.GenericRecordUtil; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; /** * Definition of a special kind of property of some text, or its @@ -34,9 +35,9 @@ import org.apache.poi.util.POILogger; * (but related) properties */ public abstract class BitMaskTextProp extends TextProp { - protected static final POILogger LOG = POILogFactory.getLogger(BitMaskTextProp.class); + protected static final Logger LOG = LogManager.getLogger(BitMaskTextProp.class); - private String[] subPropNames; + private String[] subPropNames; private int[] subPropMasks; private boolean[] subPropMatches; @@ -148,8 +149,8 @@ public abstract class BitMaskTextProp ex setWriteMask(writeMask); super.setValue(maskValue(val)); if (val != super.getValue()) { - LOG.log(POILogger.WARN, "Style properties of '", getName(), "' don't match mask - output will be sanitized"); - if (LOG.check(POILogger.DEBUG)) { + LOG.atWarn().log("Style properties of '{}' don't match mask - output will be sanitized", getName()); + LOG.atDebug().log(() -> { StringBuilder sb = new StringBuilder("The following style attributes of the '") .append(getName()).append("' property will be ignored:\n"); int i=0; @@ -159,8 +160,8 @@ public abstract class BitMaskTextProp ex } i++; } - LOG.log(POILogger.DEBUG, sb.toString()); - } + return new SimpleMessage(sb); + }); } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/TextPropCollection.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/TextPropCollection.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/TextPropCollection.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/textproperties/TextPropCollection.java Sun Feb 21 20:57:25 2021 @@ -29,13 +29,14 @@ import java.util.Map; import java.util.Objects; import java.util.function.Supplier; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.common.Duplicatable; import org.apache.poi.common.usermodel.GenericRecord; import org.apache.poi.hslf.exceptions.HSLFException; +import org.apache.poi.hslf.record.Record; import org.apache.poi.util.HexDump; import org.apache.poi.util.LittleEndian; -import org.apache.poi.util.POILogFactory; -import org.apache.poi.util.POILogger; /** * For a given run of characters, holds the properties (which could @@ -44,7 +45,7 @@ import org.apache.poi.util.POILogger; * properties, and the indent level if required. */ public class TextPropCollection implements GenericRecord, Duplicatable { - private static final POILogger LOG = POILogFactory.getLogger(TextPropCollection.class); + private static final Logger LOG = LogManager.getLogger(TextPropCollection.class); /** All the different kinds of paragraph properties we might handle */ private static final TextProp[] paragraphTextPropTypes = { @@ -291,12 +292,12 @@ public class TextPropCollection implemen if (!isMasterStyle) { // First goes the number of characters we affect // MasterStyles don't have this field - org.apache.poi.hslf.record.Record.writeLittleEndian(charactersCovered,o); + Record.writeLittleEndian(charactersCovered,o); } // Then we have the indentLevel field if it's a paragraph collection if (textPropType == TextPropType.paragraph && indentLevel > -1) { - org.apache.poi.hslf.record.Record.writeLittleEndian(indentLevel, o); + Record.writeLittleEndian(indentLevel, o); } // Then the mask field @@ -304,7 +305,7 @@ public class TextPropCollection implemen for (TextProp textProp : textProps.values()) { mask |= textProp.getWriteMask(); } - org.apache.poi.hslf.record.Record.writeLittleEndian(mask,o); + Record.writeLittleEndian(mask,o); // Then the contents of all the properties for (TextProp textProp : getTextPropList()) { @@ -313,9 +314,9 @@ public class TextPropCollection implemen // don't add empty properties, as they can't be recognized while reading continue; } else if (textProp.getSize() == 2) { - org.apache.poi.hslf.record.Record.writeLittleEndian((short)val,o); + Record.writeLittleEndian((short)val,o); } else if (textProp.getSize() == 4) { - org.apache.poi.hslf.record.Record.writeLittleEndian(val,o); + Record.writeLittleEndian(val,o); } else if (textProp instanceof HSLFTabStopPropCollection) { ((HSLFTabStopPropCollection)textProp).writeProperty(o); } @@ -383,7 +384,7 @@ public class TextPropCollection implemen byte[] b = baos.toByteArray(); out.append(HexDump.dump(b, 0, 0)); } catch (IOException e ) { - LOG.log(POILogger.ERROR, "can't dump TextPropCollection", e); + LOG.atError().withThrowable(e).log("can't dump TextPropCollection"); } return out.toString(); Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/AnimationInfo.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/AnimationInfo.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/AnimationInfo.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/AnimationInfo.java Sun Feb 21 20:57:25 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 animation information for a shape. @@ -55,10 +56,11 @@ public final class AnimationInfo extends private void findInterestingChildren() { // First child should be the ExMediaAtom - if(_children[0] instanceof AnimationInfoAtom) { - animationAtom = (AnimationInfoAtom)_children[0]; + final Record child = _children[0]; + if(child instanceof AnimationInfoAtom) { + animationAtom = (AnimationInfoAtom) child; } else { - LOG.log(POILogger.ERROR, "First child record wasn't a AnimationInfoAtom, was of type ", _children[0].getRecordType()); + LOG.atError().log("First child record wasn't a AnimationInfoAtom, was of type {}", box(child.getRecordType())); } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/Comment2000.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/Comment2000.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/Comment2000.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/Comment2000.java Sun Feb 21 20:57:25 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 class represents a comment on a slide, in the format used by @@ -129,7 +130,7 @@ public final class Comment2000 extends R } else if (r instanceof Comment2000Atom){ commentAtom = (Comment2000Atom)r; } else { - LOG.log(POILogger.WARN, "Unexpected record with type=", r.getRecordType(), " in Comment2000: ", r.getClass().getName()); + LOG.atWarn().log("Unexpected record with type={} in Comment2000: {}", box(r.getRecordType()),r.getClass().getName()); } } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/CurrentUserAtom.java Sun Feb 21 20:57:25 2021 @@ -20,6 +20,7 @@ package org.apache.poi.hslf.record; +import static org.apache.logging.log4j.util.Unbox.box; import static org.apache.poi.hslf.usermodel.HSLFSlideShow.PP95_DOCUMENT; import java.io.ByteArrayInputStream; @@ -28,6 +29,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException; import org.apache.poi.hslf.exceptions.OldPowerPointFormatException; import org.apache.poi.poifs.filesystem.DirectoryNode; @@ -35,8 +38,6 @@ import org.apache.poi.poifs.filesystem.D import org.apache.poi.poifs.filesystem.POIFSFileSystem; 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.StringUtil; /** @@ -46,7 +47,7 @@ import org.apache.poi.util.StringUtil; */ public class CurrentUserAtom { - private static final POILogger LOG = POILogFactory.getLogger(CurrentUserAtom.class); + private static final Logger LOG = LogManager.getLogger(CurrentUserAtom.class); //arbitrarily selected; may need to increase private static final int MAX_RECORD_LENGTH = 1_000_000; @@ -177,7 +178,7 @@ public class CurrentUserAtom long usernameLen = LittleEndian.getUShort(_contents,20); if(usernameLen > 512) { // Handle the case of it being garbage - LOG.log(POILogger.WARN, "Warning - invalid username length ", usernameLen, " found, treating as if there was no username set"); + LOG.atWarn().log("Invalid username length {} found, treating as if there was no username set", box(usernameLen)); usernameLen = 0; } Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/Document.java URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/Document.java?rev=1886770&r1=1886769&r2=1886770&view=diff ============================================================================== --- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/Document.java (original) +++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/Document.java Sun Feb 21 20:57:25 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 --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org