Exemple de sortie de journal standard Java

introduction

Cette méthode de sortie de journal consiste à sortir le journal au moment de l'exécution par lots, et elle n'est pas recommandée car il y a log rote, etc. dans l'application WEB, etc. Il vaut mieux utiliser Log4j docilement.

Cependant, dans un système où Log4j ne peut pas être utilisé pour une raison quelconque (je ne sais pas s'il est inclus en premier lieu), on m'a dit "Les journaux peuvent être System.out.println ()" et j'ai pensé "Attendez une minute", donc je vais le résumer. .. Les gens ordinaires ne l'utilisent pas.

Formateur de journal


public class BatchLogFomatter extends SimpleFormatter {

       public String format(LogRecord logRecord) {
          final StringBuffer stringBuffer = new StringBuffer();

          //Format de date
          //Ce lot n'était pas censé être un lot sensible au thread,
          //Je crains de le mettre dans une variable de classe, alors écrivez-le au format
          DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
       
          stringBuffer.append(dateFormat.format(new Date(logRecord.getMillis())));
          stringBuffer.append(" ");

          Level level = logRecord.getLevel();
          //Pour une raison quelconque, FINE et ci-dessous ne sont pas affichés, il suffit donc de régler FINE et ci-dessous pour le moment.
          //Les noms ont été modifiés en CONF, INFO, WARN et ERROR.
          //Paramètres d'affichage (DEBUG)=Disons CONF.
          if (level == Level.FINEST) {
             stringBuffer.append("FINEST");
          } else if (level == Level.FINER) {
             stringBuffer.append("FINER ");
          } else if (level == Level.FINE) {
             stringBuffer.append("FINE ");
          } else if (level == Level.CONFIG) {
             stringBuffer.append("CONF");
          } else if (level == Level.INFO) {
             stringBuffer.append("INFO ");
          } else if (level == Level.WARNING) {
             stringBuffer.append("WARN ");
          } else if (level == Level.SEVERE) {
             stringBuffer.append("ERROR ");
          }
          
          stringBuffer.append(" ");
          //Le nom de la classe sera entré (je ne sais pas ce que c'est ici)
          stringBuffer.append(logRecord.getLoggerName());
          stringBuffer.append(" - ");
          //Le message est affiché
          stringBuffer.append(logRecord.getMessage());
          //N'oubliez pas les sauts de ligne.
          stringBuffer.append("\n");

          // 2017-10-05 18:52:57.592 INFO  hoge.FugaBatch -Lancer l'exécution par lots
          //Je reçois un journal comme
          return stringBuffer.toString();
          
       }
}

Côté montage


public class LogTest {

	static final Logger logger = Logger.getLogger(LogTest.class.getName());
	
	static {
		ConsoleHandler handler = new ConsoleHandler();
		//Modifier le niveau de journal
                //Même si c'est TOUT, le FINE suivant ne sort pas ...
		handler.setLevel(Level.ALL);
		handler.setFormatter(new BatchLogFomatter());
		logger.addHandler(handler);
		//Si cela n'est pas inclus, le journal sera dupliqué
		logger.setUseParentHandlers(false);

	}
	
	public static void main (String[] args) {
		logger.info("Sortez avec INFO");
	}

}

À la fin

Puisqu'il s'agit d'une exécution par lots, le fichier journal est toujours séparé, alors ne vous inquiétez pas des détails J'essaie de ne sortir que le journal. Existe-t-il une meilleure façon d'obtenir un journal?

Recommended Posts

Exemple de sortie de journal standard Java
À propos de la sortie du journal Java
Demander un exemple de sortie du journal des paramètres Java et Spring MVC
Exemple de code pour la sortie du journal par Java + SLF4J + Logback
Enregistrer la sortie dans un fichier en Java
[Java] sortie, variables
[Java] Exemple de génériques
Exemple de code Java 02
Exemple de code Java 03
Échantillon de sélénium (Java)
Exemple d'interface graphique Java
Enregistreur standard Java
Exemple de code Java 04
Exemple de code Java 01
[Java] Colorez la sortie standard vers le terminal
interface de type de fonction standard java
[Java] Enregistrement de dépannage GlassFish 5
[Java] exemple de logback slf4j
Exemple de programme d'entrée / sortie de fichier Java (jdk1.8 ou version ultérieure)
récapitulatif des entrées / sorties standard de vérification des compétences paiza [édition Java]
Sous-chaîne de mémo Java (classe standard)
Collection d'exemples de code parallèle Java
Longueur du mémo Java (classe standard)
Lire l'entrée standard en Java
[Java] Liste des bibliothèques standard dépendant du système d'exploitation
Méthode de sortie de journal correcte sur Android (classe de journal standard vs AnkoLogger)
Journal de trace de pile Java NullPointerException
Formulaire de réservation d'échantillons de sélénium (Java)
[Java] Je souhaite tester l'entrée standard et la sortie standard avec JUnit
Utiliser Microsoft Graph avec Java standard
[Java] DateTimeFormatter sortie par FormatStyle
[Java] Calcul de tableau / tableau multidimensionnel en sortie (calcul de table AOJ⑥)
Nouvelles fonctionnalités de Java 9 et exemple de code
Un exemple simple de rappels en Java
Sortie PDF et TIFF avec Java 8
Exemple de description et d'implémentation de BloomFilter (JAVA)
[Java] Exemple de contrôle de duplication de période de date
Exemple de mise à jour de fichier EXCEL avec JAVA
Sortie du journal de la requête / réponse WebServiceTemplate
Sortie du journal Spring Data JPA SQL
Distributeur automatique d'échantillons fabriqué avec Java
Exemple de code utilisant Minio de Java