update verigraph
[parser.git] / verigraph / src / it / polito / verigraph / service / VerigraphLogger.java
1 /*******************************************************************************
2  * Copyright (c) 2017 Politecnico di Torino and others.
3  *
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Apache License, Version 2.0
6  * which accompanies this distribution, and is available at
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *******************************************************************************/
9 package it.polito.verigraph.service;
10
11 import java.io.IOException;
12 import java.util.logging.ConsoleHandler;
13 import java.util.logging.FileHandler;
14 import java.util.logging.Formatter;
15 import java.util.logging.Handler;
16 import java.util.logging.Level;
17 import java.util.logging.LogManager;
18 import java.util.logging.Logger;
19 import java.util.logging.SimpleFormatter;
20
21 public class VerigraphLogger {
22     static private FileHandler fileTxt;
23     static private SimpleFormatter formatterTxt;
24     private static VerigraphLogger verigraphlogger= new VerigraphLogger();
25     public static Logger logger;
26
27     private VerigraphLogger() {
28
29         // suppress the logging output to the console
30         /*Logger rootLogger = Logger.getLogger("");
31         Handler[] handlers = rootLogger.getHandlers();
32         if (handlers[0] instanceof ConsoleHandler) {
33             rootLogger.removeHandler(handlers[0]);
34         }*/
35
36         /*Logger globalLogger = Logger.getLogger("");
37         Handler[] handlers = globalLogger.getHandlers();
38         for(Handler handler : handlers) {
39             globalLogger.removeHandler(handler);
40         }*/
41
42         LogManager.getLogManager().reset();
43         // get the global logger to configure it
44         logger = Logger.getLogger(VerigraphLogger.class.getName());
45         // logger.setUseParentHandlers(false);
46         logger.setLevel(Level.INFO);
47         try {
48             if(System.getProperty("catalina.home") != null)
49                 fileTxt = new FileHandler(System.getProperty("catalina.home")+"/logs/verigraph_log.txt");
50             else fileTxt= new FileHandler("verigraph_log.txt");
51
52         } catch (SecurityException e) {
53             // TODO Auto-generated catch block
54             e.printStackTrace();
55         } catch (IOException e) {
56             // TODO Auto-generated catch block
57             e.printStackTrace();
58         }
59
60         // create a TXT formatter
61         formatterTxt = new SimpleFormatter();
62         fileTxt.setFormatter(formatterTxt);
63         logger.addHandler(fileTxt);
64
65     }
66
67     public static VerigraphLogger getVerigraphlogger(){
68         return verigraphlogger;
69     }
70
71 }