Hadoop项目没有日志输出



问题描述:在eclipse下运行hadoop项目,没有输出日志,警告如下,意为没有找到log4j文件。

log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

问题解决:

  • 解决办法1:将log4j.properties文件放到项目的bin文件夹内即可,但每个项目都得放一个。
  • 解决办法2:设置eclipse的VM arguments,如下
-Dlog4j.configuration=file:/home/asin/WorkSpace/Eclipse_WorkSpace/examples/log4j.properties
时间: 2024-09-29 09:42:39

Hadoop项目没有日志输出的相关文章

Android 项目Log日志输出优化

概述 Android开发过程中经常需要向控制台输出日志信息,有些人还在用Log.i(tag,msg)的形式或者system.out.println(msg)方式吗?本篇文章对日志信息输出进行优化,以达到快速定位输出日志位置及输出规范日志的效果.日志输出行展示调用输出日志信息在哪个文件的第几行,并且可以和点击跳转到对应位置的作用. 输出日志的一般形式 1.在项目中直接调用Log.i(tag,msg)或者println函数,这是初级开发者的做法,不便于后期维护与统一控制. 2.在项目中对输出操作进行

web项目Log4j日志输出路径配置问题

问题描述:一个web项目想在一个tomcat下运行多个实例(通过修改war包名称的实现),然后每个实例都将日志输出到tomcat的logs目录下实例名命名的文件夹下进行区分查看每个实例日志,要求通过尽可能少的改动配置文件,最好修改实例名后可以不修改log4j的配置文件. 实现分析:一般实现上面需求,需要在修改完war包名称之外要再做下面配置: 1.修改每个实例名下web.xml中参数webAppRootKey为不同值.同一个tomcat下运行多个web应用时,该值相同的话,运行时会抛异常. <c

JAVA中使用log4j及slf4j进行日志输出的方法

JAVA中输出日志比较常用的是log4j,这里讲下log4j的配置和使用方法,以及slf4j的使用. 一.下载log4j的架包,并导入项目中,如下: 二.创建log4j.properties配置文件 1.log4j配置文件的位置: (1)如果是java project项目,则在项目的根目录下创建log4j.properties而不是在src目录下. (2)如果是java web项目,则在src目录下创建log4j.properties配置文件,因为这个时候tomcat会去默认的加载这个配置文件,

python日志输出的内容修改为json格式

业务中要求,python项目的日志输出为json串,同时包括异常:经过查看python logging相关的源码,发现还不能完全的兼容:比如异常的源码那里: class Formatter(object): """省略""" def format(self, record): record.message = record.getMessage() if self.usesTime(): record.asctime = self.formatT

改造Hadoop 的HDFS的NN,DN进程,日志输出为json格(转)

原文链接:http://blog.itpub.net/30089851/viewspace-2136429/ 1.登录nn机器,进入最新序号的namenode配置文件夹,查看当前的nn的log4j配置[[email protected] ~]# cd /var/run/cloudera-scm-agent/process/[[email protected] process]# ls -lrt.....................drwxr-x--x 3 hdfs   hdfs   380

log4j日志输出到web项目指定文件夹

感谢 eric2500 的这篇文章:http://www.cxyclub.cn/n/27860/ 摘要:尝试将log4j的文件日志输出到web工程制定目录,遇到了很多问题,最终在eric2500的指导下搞定,下面是记录. 其原理在于log4j的配置文件支持服务器的vm的环境变量,如${oss.log4j.path},在log4j加载配置文件之前,先用 System.setProperty("","")设置好日志文件路径,这一操作通过一个初始的servlet来实现.

hadoop日志输出

hadoop有自己记录日志的路径和配置方法. 打印日志方法:log4j,slf4j等记录日志方法,系统日志等. 日志记录的路径和文件名的定义:mapred-site.xml中有相关的设置. <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property o

Log4j将不同Package的日志输出到不同的文件

转自:http://www.crazyant.net/1931.html 随着项目规模的越来越大,会不断的引入新的模块,不同的模块都会打印自己的日志,最后就造成日志根本没法查看,比如我自己的项目中,就存在以下这些日志: 接收外界消息的日志.对外发送消息的日志: 后台常驻线程的处理日志: 外部接口访问的参数.返回结果等接口日志: Service访问数据库产生的SQL日志: 这其中,消息日志和后台线程的日志数据量非常庞大,如果所有日志打印在一个文件中,使用tail -f log.log文件,会发现日

.NET Core的日志[2]:将日志输出到控制台

对于一个控制台应用,比如采用控制台应用作为宿主的ASP.NET Core应用,我们可以将记录的日志直接输出到控制台上.针对控制台的Logger是一个类型为ConsoleLogger的对象,ConsoleLogger对应的LoggerProvider类型为ConsoleLoggerProvider,这两个类型都定义在 NuGet包"Microsoft.Extensions.Logging.Console"之中. 本文已经同步到<ASP.NET Core框架揭秘>之中] 目录一