需要与 sshj 库相关的信息。日志记录如何工作?
Need information related to sshj library. How logging works?
我正在尝试使用 sftp 协议将文件从一台服务器传输到另一台服务器。所以,我正在尝试为此使用 sshj 库。现在,在传输文件之前,我正在执行一些活动,例如压缩和传输后解压缩。因此,我将此详细信息记录到 successLog,如果有错误则记录到 FailureLog。
这是我的 log4j 属性:-
# Define the root logger
log4j.rootLogger = DEBUG, toConsole
# Define the console appender
log4j.appender.toConsole=org.apache.log4j.ConsoleAppender
log4j.appender.toConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.toConsoleAppender.layout.ConversionPattern=%d{HH:mm:ss} %5p [%t] - %c.%M - %m%n
# Define the file appender
log4j.appender.success=org.apache.log4j.FileAppender
log4j.appender.success.File=logs/success.log
log4j.appender.success.Append=false
log4j.appender.success.layout=org.apache.log4j.PatternLayout
log4j.appender.success.layout.conversionPattern=%d{HH:mm:ss} %5p [%t] - %c.%M - %m%n
# Define the file appender
log4j.appender.failure=org.apache.log4j.FileAppender
log4j.appender.failure.File=logs/failure.log
log4j.appender.failure.Append=false
log4j.appender.failure.layout=org.apache.log4j.PatternLayout
log4j.appender.failure.layout.conversionPattern=%d{HH:mm:ss} %5p [%t] - %c.%M - %m%n
log4j.category.successLogger=DEBUG, success
log4j.additivity.successLogger=true
log4j.category.failureLogger=WARN, failure
log4j.additivity.failureLogger=false
在 java 代码中,我将其用作 :-
static final Logger successLog = Logger.getLogger("successLogger");
static final Logger failureLog = Logger.getLogger("failureLogger");
和例子failureLog.error("exception occured due to so an so reason",e);
现在我想将 sshj 库日志存储在某个名为 sftp.log 的文件中。我该怎么做?到目前为止,我是手动登录成功和失败日志,但 sshj 日志默认打印在控制台上,我想将其写入某个文件。
这是我将 SFTP 会话 FINE 级日志写入文件的示例:
private void enableFineLogging() {
try {
fileHandler = new FileHandler(
"./logs/fine_sshj.log",
10000000, 1000, true);
fileHandler.setLevel(Level.FINER);
fileHandler.setFormatter(new SimpleFormatter());
final Logger app = Logger.getLogger("net.schmizz");
app.setLevel(Level.FINER);
app.addHandler(fileHandler);
app.setUseParentHandlers(false);
app.info(
"######################################################################## "
+ "START LOGGING NEW SSHJ SESSION "
+ "########################################################################");
} catch (Exception e) {
// Do something...
}
}
虽然我不确定是否能够分离日志级别以便 successLogger 将只有成功案例...我认为还会有警告和严重级别的消息。
我正在尝试使用 sftp 协议将文件从一台服务器传输到另一台服务器。所以,我正在尝试为此使用 sshj 库。现在,在传输文件之前,我正在执行一些活动,例如压缩和传输后解压缩。因此,我将此详细信息记录到 successLog,如果有错误则记录到 FailureLog。
这是我的 log4j 属性:-
# Define the root logger
log4j.rootLogger = DEBUG, toConsole
# Define the console appender
log4j.appender.toConsole=org.apache.log4j.ConsoleAppender
log4j.appender.toConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.toConsoleAppender.layout.ConversionPattern=%d{HH:mm:ss} %5p [%t] - %c.%M - %m%n
# Define the file appender
log4j.appender.success=org.apache.log4j.FileAppender
log4j.appender.success.File=logs/success.log
log4j.appender.success.Append=false
log4j.appender.success.layout=org.apache.log4j.PatternLayout
log4j.appender.success.layout.conversionPattern=%d{HH:mm:ss} %5p [%t] - %c.%M - %m%n
# Define the file appender
log4j.appender.failure=org.apache.log4j.FileAppender
log4j.appender.failure.File=logs/failure.log
log4j.appender.failure.Append=false
log4j.appender.failure.layout=org.apache.log4j.PatternLayout
log4j.appender.failure.layout.conversionPattern=%d{HH:mm:ss} %5p [%t] - %c.%M - %m%n
log4j.category.successLogger=DEBUG, success
log4j.additivity.successLogger=true
log4j.category.failureLogger=WARN, failure
log4j.additivity.failureLogger=false
在 java 代码中,我将其用作 :-
static final Logger successLog = Logger.getLogger("successLogger");
static final Logger failureLog = Logger.getLogger("failureLogger");
和例子failureLog.error("exception occured due to so an so reason",e);
现在我想将 sshj 库日志存储在某个名为 sftp.log 的文件中。我该怎么做?到目前为止,我是手动登录成功和失败日志,但 sshj 日志默认打印在控制台上,我想将其写入某个文件。
这是我将 SFTP 会话 FINE 级日志写入文件的示例:
private void enableFineLogging() {
try {
fileHandler = new FileHandler(
"./logs/fine_sshj.log",
10000000, 1000, true);
fileHandler.setLevel(Level.FINER);
fileHandler.setFormatter(new SimpleFormatter());
final Logger app = Logger.getLogger("net.schmizz");
app.setLevel(Level.FINER);
app.addHandler(fileHandler);
app.setUseParentHandlers(false);
app.info(
"######################################################################## "
+ "START LOGGING NEW SSHJ SESSION "
+ "########################################################################");
} catch (Exception e) {
// Do something...
}
}
虽然我不确定是否能够分离日志级别以便 successLogger 将只有成功案例...我认为还会有警告和严重级别的消息。