Application Insights log4j appender 不退出
Application Insights log4j appender does not exit
我一直在尝试使用 Application Insights log4j v1.2 appender 将我的 scala 控制台应用程序的日志推送到 Application Insights。它按预期工作,但最后,应用程序没有退出。是否需要关闭任何连接才能退出应用程序?有人可以帮我解决这个问题吗?我不能使用 System.exit(0)
或 Thread.interrupt()
,因为这会导致我的 Spark 应用程序在集群上失败。
下面是我的源代码:
AILogger.scala:
import org.apache.log4j.{ Logger, Level, MDC }
import java.time.LocalDateTime
import com.microsoft.applicationinsights.log4j.v1_2.ApplicationInsightsAppender
object AILogger {
var rootLogger = Logger.getRootLogger()
var ai = new ApplicationInsightsAppender()
ai.setInstrumentationKey("Insert IKey here")
ai.activateOptions()
@transient lazy val logger = Logger.getLogger(this.getClass)
logger.setLevel(Level.INFO)
rootLogger.addAppender(ai)
rootLogger.setLevel(Level.ERROR)
def info(message: String): Unit = {
logger.info(message)
}
}
AILoggerTest.scala:
import java.time.LocalDateTime
object AILoggerTest {
def main(args: Array[String]) {
AILogger.info("logging to AI " + LocalDateTime.now())
System.out.println("Completed")
}
}
谢谢
JavaEE/Spring MVC 应用程序自动装配线程池关闭。在您的情况下,您必须在应用程序应该退出时自己触发它:
SDKShutdownActivity.INSTANCE.stopAll()
我一直在尝试使用 Application Insights log4j v1.2 appender 将我的 scala 控制台应用程序的日志推送到 Application Insights。它按预期工作,但最后,应用程序没有退出。是否需要关闭任何连接才能退出应用程序?有人可以帮我解决这个问题吗?我不能使用 System.exit(0)
或 Thread.interrupt()
,因为这会导致我的 Spark 应用程序在集群上失败。
下面是我的源代码:
AILogger.scala:
import org.apache.log4j.{ Logger, Level, MDC }
import java.time.LocalDateTime
import com.microsoft.applicationinsights.log4j.v1_2.ApplicationInsightsAppender
object AILogger {
var rootLogger = Logger.getRootLogger()
var ai = new ApplicationInsightsAppender()
ai.setInstrumentationKey("Insert IKey here")
ai.activateOptions()
@transient lazy val logger = Logger.getLogger(this.getClass)
logger.setLevel(Level.INFO)
rootLogger.addAppender(ai)
rootLogger.setLevel(Level.ERROR)
def info(message: String): Unit = {
logger.info(message)
}
}
AILoggerTest.scala:
import java.time.LocalDateTime
object AILoggerTest {
def main(args: Array[String]) {
AILogger.info("logging to AI " + LocalDateTime.now())
System.out.println("Completed")
}
}
谢谢
JavaEE/Spring MVC 应用程序自动装配线程池关闭。在您的情况下,您必须在应用程序应该退出时自己触发它:
SDKShutdownActivity.INSTANCE.stopAll()