Java log4j在带有log4j.properties文件的tomcat8服务器上不工作

Java log4j在带有log4j.properties文件的tomcat8服务器上不工作,java,log4j,tomcat8,ghost4j,Java,Log4j,Tomcat8,Ghost4j,我正在尝试使用Ghost4j将一些PDF文件转换为PNG。这个库需要log4j才能工作,所以我在库中也添加了log4j 因为我的应用程序是一个动态Web项目,所以我将库添加到文件夹Web-INF/lib中 当我尝试在本地tomcat8服务器上运行应用程序时,它记录了一些警告,例如: log4j:WARN No appenders could be found for logger (org.ghost4j.Ghostscript). log4j:WARN Please initialize th

我正在尝试使用Ghost4j将一些PDF文件转换为PNG。这个库需要log4j才能工作,所以我在库中也添加了log4j

因为我的应用程序是一个动态Web项目,所以我将库添加到文件夹Web-INF/lib中

当我尝试在本地tomcat8服务器上运行应用程序时,它记录了一些警告,例如:

log4j:WARN No appenders could be found for logger (org.ghost4j.Ghostscript).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
因此,在网上冲浪时,我发现我的应用程序中缺少log4j.properties文件。因此,我创建了log4j.properties文件并将其添加到WEB-INF/classes中(正如stackoverflow的其他文章所建议的那样)。有了这个补丁,我的locat tomcat8服务器上的应用程序运行顺利

然而,当我试图在远程tomcat8服务器上部署它时,应用程序无法工作。问题是它不会产生任何类型的异常,它只是中断了它的工作。无论是否使用log4j.properties文件,在远程tomcat8服务器上都没有区别:它只是在之前在本地服务器上记录我之前编写的警告的同一“代码行”上停止运行

非常感谢您的帮助

注:转换代码非常简单。我发布它来完成我的问题:

private void createImages(String machine, String fileName){
        LOGGER.warning("started creating images");
        try{
            PDFDocument document = new PDFDocument();
            document.load(new File(DOCS_DIR + machine + "/" + fileName + ".pdf"));

            String commonPath = IMGS_DIR + machine + "/" + fileName + "/";
            Path path = Paths.get(new File(commonPath).getPath());
            if(Files.notExists(path, LinkOption.NOFOLLOW_LINKS)){
                new File(commonPath).mkdirs();
            }
            SimpleRenderer renderer = new SimpleRenderer();
            renderer.setResolution(300);
            renderer.setAntialiasing(SimpleRenderer.OPTION_ANTIALIASING_HIGH);

            LOGGER.warning("IT STOPS HERE!!");
            List<Image> images = renderer.render(document); // this is the line in which the execution of the program stops..
            LOGGER.warning("pdf pages are: " + images.size());
            for (int i = 0; i < images.size(); i++) {
                Image img = images.get(i);
                Image scaledImg = img.getScaledInstance(1200, -1, Image.SCALE_SMOOTH);
                BufferedImage newImage = new BufferedImage(scaledImg.getWidth(null), scaledImg.getHeight(null), BufferedImage.TYPE_INT_ARGB);
                Graphics2D g = newImage.createGraphics();
                g.drawImage(scaledImg, 0, 0, null);
                g.dispose();
                String extension = ".png";
                String imgName = commonPath + (i + 1) + extension;
                LOGGER.warning("creating img n: " + (i+1) + " - creating img in folder: " + imgName);
                ImageIO.write((RenderedImage) newImage, "png", new File(imgName));
            }

            LOGGER.warning("finished creating images!");
        } catch(FileNotFoundException e){
            LOGGER.warning("ERROR DOCUMENT SERVICE -- FileNotFoundException");
            LOGGER.warning(e.printStackTrace());
        } catch (IOException e) {
            LOGGER.warning("ERROR DOCUMENT SERVICE -- IOException");
            LOGGER.warning(e.printStackTrace());
        } catch (RendererException e) {
            LOGGER.warning("ERROR DOCUMENT SERVICE -- RendererException");
            LOGGER.warning(e.printStackTrace());
        } catch (DocumentException e) {
            LOGGER.warning("ERROR DOCUMENT SERVICE -- DocumentException");
            LOGGER.warning(e.printStackTrace());
        } catch (Exception e){
            LOGGER.warning("ERROR DOCUMENT SERVICE -- Exception");
            LOGGER.warning(e.printStackTrace());
        }
    }
private void createImages(字符串机器,字符串文件名){
LOGGER.warning(“已开始创建图像”);
试一试{
PDFDocument document=新PDFDocument();
document.load(新文件(DOCS_DIR+machine+“/”+fileName+“.pdf”);
字符串commonPath=IMGS_DIR+machine+“/”+fileName+“/”;
Path Path=Path.get(新文件(commonPath.getPath());
if(Files.notExists(path,LinkOption.NOFOLLOW_LINKS)){
新文件(commonPath).mkdirs();
}
SimpleRenderer渲染器=新SimpleRenderer();
设置分辨率(300);
渲染器.设置抗锯齿(SimpleRenderer.选项\u抗锯齿\u高);
LOGGER.warning(“它停在这里!!”;
List images=renderer.render(document);//这是程序停止执行的行。。
警告(“pdf页面为:+images.size());
对于(int i=0;i
最后我自己找到了解决方案

这个问题与log4j没有任何关系,但它不起作用,因为它在服务器上丢失了Ghostscript

在服务器上安装Ghostscript后,一切正常