2017-10-18 9 views
0

J'utilise l'application scala avec des dépendances d'étincelles. Voici ce que j'aiSpark: affiche les messages du journal

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 

classe principale

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> 

Je voudrais juste pour obtenir le message que je me affiché, non le journal d'étincelles. Quand je l'ai fait, je l'ai trouvé cela dans le fichier journal toujours ce message supplémentaire journal étincelle

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 

Comment puis-je me débarrasser des deux première ligne dans le fichier journal.

Merci à l'avance

Répondre

0

Vous définissez le niveau de journalisation pour les classes d'allumage à WARN, de sorte que vous voyez cet avertissement.

Si vous voulez filtrer tous les avertissements Spark (pas vraiment recommandé), vous pouvez régler le niveau ERROR dans vos propriétés log4j fichier:

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

L'autre avertissement vient à partir du code Hadoop (package org.apache.hadoop) - pour ainsi désactiver que l'un (ainsi que tous les autres avertissements Hadoop), vous pouvez spécifier le niveau de ce paquet aussi être ERROR:

log4j.logger.org.apache.hadoop=ERROR 
+0

i encore eu cette 18/10/2017 14:16:35 WARN NativeCodeLoader: 62- Impossible de charger la bibliothèque native-hadoop ary pour votre plate-forme ... en utilisant des classes builtin-java le cas échéant – maher

+0

mise à jour post pour tenir compte de cela aussi –

+0

j'ai mis à jour le poste, il suffit de vérifier. Merci beaucoup – maher