我们有一个Pentaho作业,它在我们的本地环境中工作得很好,但在部署它并使用Kettle运行该作业后,我们得到一个写入日志文件的错误。该错误发生在设置为“Execute for which input row?”的作业中。检查过了。下面是如何配置日志记录设置,路径和名称是之前设置的变量。在此步骤之前,它可以很好地记录到文件。
作业日志记录配置
这是在日志级别为debug的情况下运行Kettle时出现的错误。在失败的作业内部,我们也在写入日志,我不知道这是不是一种糟糕的做法。有没有其他人遇到过这个问题并知道解决方案?
ProcessFiles - Log folder [file:////<ServerPath>/QA/PentahoLogs] exists.
ProcessFiles - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : Unable to open file appender for file [${LOGFOLDER}${LOGFILENAME}_20161005.txt] : org.pentaho.di.core.exception.KettleException:
ProcessFiles - There was an error while trying to open file 'file:////<ServerPath>/QA/PentahoLogs/PartImportLog_20161005.txt' for writing
ProcessFiles - Could not write to "file:////<ServerPath>/QA/PentahoLogs/PartImportLog_20161005.txt" because it is currently in use.
ProcessFiles - ERROR (version 6.1.0.1-196, build 1 from 2016-04-07 12.08.49 by buildguy) : org.pentaho.di.core.exception.KettleException:
ProcessFiles - There was an error while trying to open file 'file:////<ServerPath>/QA/PentahoLogs/PartImportLog_20161005.txt' for writing
ProcessFiles - Could not write to "file:////<ServerPath>/QA/PentahoLogs/PartImportLog_20161005.txt" because it is currently in use.
ProcessFiles -
ProcessFiles - at org.pentaho.di.core.logging.LogChannelFileWriter.<init>(LogChannelFileWriter.java:78)
ProcessFiles - at org.pentaho.di.core.logging.LogChannelFileWriter.<init>(LogChannelFileWriter.java:96)
ProcessFiles - at org.pentaho.di.job.entries.job.JobEntryJob.execute(JobEntryJob.java:552)
ProcessFiles - at org.pentaho.di.job.Job.execute(Job.java:723)
ProcessFiles - at org.pentaho.di.job.Job.execute(Job.java:864)
ProcessFiles - at org.pentaho.di.job.Job.execute(Job.java:864)
ProcessFiles - at org.pentaho.di.job.Job.execute(Job.java:864)
ProcessFiles - at org.pentaho.di.job.Job.execute(Job.java:545)
ProcessFiles - at org.pentaho.di.job.Job.run(Job.java:435)
ProcessFiles - Caused by: org.apache.commons.vfs2.FileSystemException: Could not write to "file:////<ServerPath>/QA/PentahoLogs/PartImportLog_20161005.txt" because it is currently in use.
ProcessFiles - at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream(DefaultFileContent.java:475)
ProcessFiles - at org.pentaho.di.core.vfs.KettleVFS.getOutputStream(KettleVFS.java:289)
ProcessFiles - at org.pentaho.di.core.logging.LogChannelFileWriter.<init>(LogChannelFileWriter.java:76)
ProcessFiles - ... 8 more
发布于 2016-10-06 09:20:29
阅读日志:
ProcessFiles -无法写入"file://///QA/PentahoLogs/PartImportLog_20161005.txt“,因为它当前正在使用中。
所以这意味着其他进程正在锁定txt文件。
发布于 2016-11-10 07:01:09
确保日志路径/文件未被同一存储库用户或其他用户中的其他作业使用。
https://stackoverflow.com/questions/39877014
复制相似问题