2017-10-18 9 views
0

私はspark依存関係のあるscalaアプリケーションを使用しています。私が持っているもの。ここ スパーク:ログメッセージを表示

log4j.properties

# Here we have defined root logger 
log4j.rootLogger=WARN,ERROR,R 

#Direct log messages to file 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=./logging.log 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L- %m%n 

# Change this to set Spark log level 
log4j.logger.org.apache.spark=ERROR 

# Silence akka remoting 
#log4j.logger.Remoting=WARN 

# Ignore messages below warning level from Jetty, because it's a bit verbose 
#log4j.logger.org.eclipse.jetty=WARN 

メインクラス

org.apache.log4j.PropertyConfigurator.configure("./log4j.properties") 

val sparkSession = SparkSession.builder.master("local").appName("spark session example").getOrCreate 
val spark = sparkSession.sqlContext 

Logger.getLogger("org").setLevel(Level.OFF) 
Logger.getLogger("akka").setLevel(Level.OFF) 

val log = Logger.getLogger(this.getClass.getName) 
log.error("This is error"); 
log.warn("This is warn"); 
println("log ok") 

のpom.xml私はメッセージを取得するために、私は私を表示します

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
     <modelVersion>4.0.0</modelVersion> 

     <groupId>com.ayd</groupId> 
     <artifactId>data2</artifactId> 
     <version>0.0.1-SNAPSHOT</version> 
     <packaging>jar</packaging> 

     <name>data2</name> 
     <url>http://maven.apache.org</url> 

     <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     </properties> 

     <dependencies> 
     <dependency> 
       <groupId>org.apache.spark</groupId> 
       <artifactId>spark-catalyst_2.11</artifactId> 
       <version>2.0.0</version> 
      </dependency> 

      <dependency> 
       <groupId>org.apache.spark</groupId> 
       <artifactId>spark-core_2.11</artifactId> 
       <version>2.0.0</version> 
      </dependency> 

      <dependency> 
       <groupId>org.apache.spark</groupId> 
       <artifactId>spark-sql_2.11</artifactId> 
       <version>2.0.0</version> 

      </dependency> 

      <dependency> 
       <groupId>org.postgresql</groupId> 
       <artifactId>postgresql</artifactId> 
       <version>42.1.3</version> 
      </dependency> 





      <!-- https://mvnrepository.com/artifact/log4j/log4j --> 
      <dependency> 
       <groupId>log4j</groupId> 
       <artifactId>log4j</artifactId> 
       <version>1.2.17</version> 
      </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     </dependencies> 
    </project> 

、ありませんスパークログ私はこれをしたとき は、私はまだ、ログファイル私は、ログファイルに2つの最初の行を取り除くことができますどのようにスパーク

2017-10-18 11:58:38 WARN NativeCodeLoader:62- Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 

     2017-10-18 11:58:41 ERROR Run$:23- This is error 
     2017-10-18 11:58:41 WARN Run$:24- This is warn 

のこの余分なログメッセージでこれを見つけました。事前

答えて

0

おかげであなたは、この警告メッセージが表示されているので、あなたは、WARNに火花クラスのログ出力のレベルを設定します。

あなたはすべてのスパークの警告(実際には推奨されません)をフィルタリングしたい場合は、あなたがlog4jのプロパティでERRORにレベルを設定することができますが、ファイル:

# Change this to set Spark log level 
log4j.logger.org.apache.spark=ERROR 

を他の警告は、Hadoopのコード(パッケージorg.apache.hadoop)から来ています

私はまだだ
log4j.logger.org.apache.hadoop=ERROR 
+0

この2017年10月18日14時16分35秒は、WARN NativeCodeLoader: - ので、あなたもERRORであることをそのパッケージのレベルを指定することができます(他のすべてのHadoopの警告と一緒に)1つを無効にします: 62-ネイティブハープリーブを読み込めませんお使いのプラットフォームに合わせて...組み込みJavaクラスを使用して適用可能な場合 – maher

+0

アカウントを更新する投稿も –

+0

投稿を更新しました。ちょっと確認してください.Thanks lot many – maher

関連する問題