当前位置: 首页 > 知识库问答 >
问题:

如何在Apache Spark中使用log4j输出主机名?

戴靖
2023-03-14

我的代码和配置如下。当我将spark作业提交到集群时,它适用于本地主机模式,但不适用于集群。

System.setProperty("hostName", InetAddress.getLocalHost().getHostName());
static Logger logger = Logger.getLogger(App.class.getName());

log4j.rootCategory=INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.target=System.err
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=${hostName} %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n

有人能帮我吗?
谢谢。

共有1个答案

祁建业
2023-03-14

首先,你实际上没有使用'logger',你必须添加以下内容:

logger.info(InetAddress.getLocalHost().getHostName())

其次,您最好分析$SPARK_HOME$/logs文件夹中的日志。

 类似资料:
  • 问题内容: 如何使用文件快速关闭所有 Log4J 输出? 问题答案: 将级别设置为OFF(而不是DEBUG,INFO等)。

  • 我正在尝试创建一个spark应用程序,它对创建、读取、写入和更新MySQL数据非常有用。那么,有没有办法使用Spark创建一个MySQL表? 下面是在MySQL数据库中创建表的Scala JDBC代码。我怎样才能通过Spark做到这一点?

  • 我在Win7上使用Jdeveloper 11.1.1.6和WL 10.3。JDK1.6.0.3x64期间我根据网上的指南和信息尝试了一天的配置。但不幸的是我不能让它工作。就在我开始wls之后,遇到了这样的情况: 我基本上通过以下链接进行了跟踪:https://forums.oracle.com/forums/thread.jspa?threadid=1061248和http://docs.orac

  • 问题内容: 有人可以给我一些在函数中使用输出参数的示例代码吗?我尝试过使用Google,但只是在功能中发现了它。我想在另一个函数中使用此输出值。 我正在开发的代码打算在Android中运行。 问题答案: Java通过值传递;没有像C#这样的参数。 您可以使用,或更改 作为 参考传递的对象( 按 值)。 代码样例 至于OP需要帮助的代码,以下是使用特殊值(通常用于引用类型)指示成功/失败的典型解决方

  • 问题内容: 我想从Log4j 1.x迁移到Log4j2.x。所以我正在尝试使用这里提到的。我的应用程序具有的实现 ,但是我找不到使用log4j 2.x api桥使用LoggingEvent的方法。无论如何,我可以在Log4j 2.2中使用LoggingEvent吗? 谢谢。 问题答案: 在内部,log4j使用LogEvent将所有数据段(日志消息,线程名称,时间戳,标记,记录器名称等)携带到可能出

  • 问题内容: 我目前正在用Java编写一个大型项目,其中包含许多类,有些类很小,只用很少的方法表示对象。我的主班有一个记录器,它运行良好。我希望所有类只能使用一个记录器(带有一个控制台附加程序)。我试图将对记录器的引用传递给不同的类,但是看起来不正确。此外,有时我在不运行main的情况下在类上运行测试,因此未针对其他类初始化记录器。 我的意思是,如何做到这一点的最佳方法是如何从不同的类登录到一个日志