Example usage for java.util.logging FileHandler setFormatter

List of usage examples for java.util.logging FileHandler setFormatter

Introduction

In this page you can find the example usage for java.util.logging FileHandler setFormatter.

Prototype

public synchronized void setFormatter(Formatter newFormatter) throws SecurityException 

Source Link

Document

Set a Formatter .

Usage

From source file:org.openqa.selenium.server.log.LoggingManager.java

private static File addNewSeleniumFileHandler(Logger currentLogger, RemoteControlConfiguration configuration) {
    try {/*  w w  w .ja v a  2s.c  o  m*/
        FileHandler fileHandler;
        final File logFile;

        logFile = configuration.getLogOutFile();
        fileHandler = seleniumFileHandlers.get(logFile);
        if (fileHandler == null) {
            fileHandler = registerNewSeleniumFileHandler(logFile);
        }
        fileHandler.setFormatter(new TerseFormatter(true));
        currentLogger.setLevel(Level.FINE);
        fileHandler.setLevel(Level.FINE);
        currentLogger.addHandler(fileHandler);
        return logFile;
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

From source file:com.sustainalytics.crawlerfilter.PDFtoTextBatch.java

/**
 * Method to initiate logger/*from  w ww . j av  a  2 s.  c  o m*/
 * @param file is a File object. The log file will be placed in this file's folder
 */
public static void initiateLogger(File file) {
    FileHandler fileHandler;
    try {
        // This block configure the logger with handler and formatter
        fileHandler = new FileHandler(file.getAbsolutePath() + "/" + "log.txt", true);
        logger.addHandler(fileHandler);
        SimpleFormatter formatter = new SimpleFormatter();
        fileHandler.setFormatter(formatter);

    } catch (SecurityException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:net.tradelib.apps.StrategyBacktest.java

public static void run(Strategy strategy) throws Exception {
    // Setup the logging
    System.setProperty("java.util.logging.SimpleFormatter.format",
            "%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS: %4$s: %5$s%n%6$s%n");
    LogManager.getLogManager().reset();
    Logger rootLogger = Logger.getLogger("");
    if (Boolean.parseBoolean(BacktestCfg.instance().getProperty("file.log", "true"))) {
        FileHandler logHandler = new FileHandler("diag.out", 8 * 1024 * 1024, 2, true);
        logHandler.setFormatter(new SimpleFormatter());
        logHandler.setLevel(Level.FINEST);
        rootLogger.addHandler(logHandler);
    }/*from  w w w .j a  v  a2  s.co m*/

    if (Boolean.parseBoolean(BacktestCfg.instance().getProperty("console.log", "true"))) {
        ConsoleHandler consoleHandler = new ConsoleHandler();
        consoleHandler.setFormatter(new SimpleFormatter());
        consoleHandler.setLevel(Level.INFO);
        rootLogger.addHandler(consoleHandler);
    }

    rootLogger.setLevel(Level.INFO);

    // Setup Hibernate
    // Configuration configuration = new Configuration();
    // StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
    // SessionFactory factory = configuration.buildSessionFactory(builder.build());

    Context context = new Context();
    context.dbUrl = BacktestCfg.instance().getProperty("db.url");

    HistoricalDataFeed hdf = new SQLDataFeed(context);
    hdf.configure(BacktestCfg.instance().getProperty("datafeed.config", "config/datafeed.properties"));
    context.historicalDataFeed = hdf;

    HistoricalReplay hr = new HistoricalReplay(context);
    context.broker = hr;

    strategy.initialize(context);
    strategy.cleanupDb();

    long start = System.nanoTime();
    strategy.start();
    long elapsedTime = System.nanoTime() - start;
    System.out.println("backtest took " + String.format("%.2f secs", (double) elapsedTime / 1e9));

    start = System.nanoTime();
    strategy.updateEndEquity();
    strategy.writeExecutionsAndTrades();
    strategy.writeEquity();
    elapsedTime = System.nanoTime() - start;
    System.out
            .println("writing to the database took " + String.format("%.2f secs", (double) elapsedTime / 1e9));

    System.out.println();

    // Write the strategy totals to the database
    strategy.totalTradeStats();

    // Write the strategy report to the database and obtain the JSON
    // for writing it to the console.
    JsonObject report = strategy.writeStrategyReport();

    JsonArray asa = report.getAsJsonArray("annual_stats");

    String csvPath = BacktestCfg.instance().getProperty("positions.csv.prefix");
    if (!Strings.isNullOrEmpty(csvPath)) {
        csvPath += "-" + strategy.getLastTimestamp().toLocalDate().format(DateTimeFormatter.BASIC_ISO_DATE)
                + ".csv";
    }

    String ordersCsvPath = BacktestCfg.instance().getProperty("orders.csv.suffix");
    if (!Strings.isNullOrEmpty(ordersCsvPath)) {
        ordersCsvPath = strategy.getLastTimestamp().toLocalDate().format(DateTimeFormatter.BASIC_ISO_DATE) + "-"
                + strategy.getName() + ordersCsvPath;
    }

    String actionsPath = BacktestCfg.instance().getProperty("actions.file.suffix");
    if (!Strings.isNullOrEmpty(actionsPath)) {
        actionsPath = strategy.getLastTimestamp().toLocalDate().format(DateTimeFormatter.BASIC_ISO_DATE) + "-"
                + strategy.getName() + actionsPath;
    }

    // If emails are being send out
    String signalText = StrategyText.build(context.dbUrl, strategy.getName(),
            strategy.getLastTimestamp().toLocalDate(), "   ", csvPath, '|');

    System.out.println(signalText);
    System.out.println();

    if (!Strings.isNullOrEmpty(ordersCsvPath)) {
        StrategyText.buildOrdersCsv(context.dbUrl, strategy.getName(),
                strategy.getLastTimestamp().toLocalDate(), ordersCsvPath);
    }

    File actionsFile = Strings.isNullOrEmpty(actionsPath) ? null : new File(actionsPath);

    if (actionsFile != null) {
        FileUtils.writeStringToFile(actionsFile,
                signalText + System.getProperty("line.separator") + System.getProperty("line.separator"));
    }

    String message = "";

    if (asa.size() > 0) {
        // Sort the array
        TreeMap<Integer, Integer> map = new TreeMap<Integer, Integer>();
        for (int ii = 0; ii < asa.size(); ++ii) {
            int year = asa.get(ii).getAsJsonObject().get("year").getAsInt();
            map.put(year, ii);
        }

        for (int id : map.values()) {
            JsonObject jo = asa.get(id).getAsJsonObject();
            String yearStr = String.valueOf(jo.get("year").getAsInt());
            String pnlStr = String.format("$%,d", jo.get("pnl").getAsInt());
            String pnlPctStr = String.format("%.2f%%", jo.get("pnl_pct").getAsDouble());
            String endEqStr = String.format("$%,d", jo.get("end_equity").getAsInt());
            String ddStr = String.format("$%,d", jo.get("maxdd").getAsInt());
            String ddPctStr = String.format("%.2f%%", jo.get("maxdd_pct").getAsDouble());
            String str = yearStr + " PnL: " + pnlStr + ", PnL Pct: " + pnlPctStr + ", End Equity: " + endEqStr
                    + ", MaxDD: " + ddStr + ", Pct MaxDD: " + ddPctStr;
            message += str + "\n";
        }

        String pnlStr = String.format("$%,d", report.get("pnl").getAsInt());
        String pnlPctStr = String.format("%.2f%%", report.get("pnl_pct").getAsDouble());
        String ddStr = String.format("$%,d", report.get("avgdd").getAsInt());
        String ddPctStr = String.format("%.2f%%", report.get("avgdd_pct").getAsDouble());
        String gainToPainStr = String.format("%.4f", report.get("gain_to_pain").getAsDouble());
        String str = "\nAvg PnL: " + pnlStr + ", Pct Avg PnL: " + pnlPctStr + ", Avg DD: " + ddStr
                + ", Pct Avg DD: " + ddPctStr + ", Gain to Pain: " + gainToPainStr;
        message += str + "\n";
    } else {
        message += "\n";
    }

    // Global statistics
    JsonObject jo = report.getAsJsonObject("total_peak");
    String dateStr = jo.get("date").getAsString();
    int maxEndEq = jo.get("equity").getAsInt();
    jo = report.getAsJsonObject("total_maxdd");
    double cash = jo.get("cash").getAsDouble();
    double pct = jo.get("pct").getAsDouble();
    message += "\n" + "Total equity peak [" + dateStr + "]: " + String.format("$%,d", maxEndEq) + "\n"
            + String.format("Current Drawdown: $%,d [%.2f%%]", Math.round(cash), pct) + "\n";

    if (report.has("latest_peak") && report.has("latest_maxdd")) {
        jo = report.getAsJsonObject("latest_peak");
        LocalDate ld = LocalDate.parse(jo.get("date").getAsString(), DateTimeFormatter.ISO_DATE);
        maxEndEq = jo.get("equity").getAsInt();
        jo = report.getAsJsonObject("latest_maxdd");
        cash = jo.get("cash").getAsDouble();
        pct = jo.get("pct").getAsDouble();
        message += "\n" + Integer.toString(ld.getYear()) + " equity peak ["
                + ld.format(DateTimeFormatter.ISO_DATE) + "]: " + String.format("$%,d", maxEndEq) + "\n"
                + String.format("Current Drawdown: $%,d [%.2f%%]", Math.round(cash), pct) + "\n";
    }

    message += "\n" + "Avg Trade PnL: "
            + String.format("$%,d", Math.round(report.get("avg_trade_pnl").getAsDouble())) + ", Max DD: "
            + String.format("$%,d", Math.round(report.get("maxdd").getAsDouble())) + ", Max DD Pct: "
            + String.format("%.2f%%", report.get("maxdd_pct").getAsDouble()) + ", Num Trades: "
            + Integer.toString(report.get("num_trades").getAsInt());

    System.out.println(message);

    if (actionsFile != null) {
        FileUtils.writeStringToFile(actionsFile, message + System.getProperty("line.separator"), true);
    }

    if (Boolean.parseBoolean(BacktestCfg.instance().getProperty("email.enabled", "false"))) {
        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.sendgrid.net");
        props.put("mail.smtp.port", "587");

        String user = BacktestCfg.instance().getProperty("email.user");
        String pass = BacktestCfg.instance().getProperty("email.pass");

        Session session = Session.getInstance(props, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(user, pass);
            }
        });

        MimeMessage msg = new MimeMessage(session);
        try {
            msg.setFrom(new InternetAddress(BacktestCfg.instance().getProperty("email.from")));
            msg.addRecipients(RecipientType.TO, BacktestCfg.instance().getProperty("email.recipients"));
            msg.setSubject(strategy.getName() + " Report ["
                    + strategy.getLastTimestamp().format(DateTimeFormatter.ISO_LOCAL_DATE) + "]");
            msg.setText("Positions & Signals\n" + signalText + "\n\nStatistics\n" + message);
            Transport.send(msg);
        } catch (Exception ee) {
            Logger.getLogger("").warning(ee.getMessage());
        }
    }

    if (Boolean.parseBoolean(BacktestCfg.instance().getProperty("sftp.enabled", "false"))) {
        HashMap<String, String> fileMap = new HashMap<String, String>();
        if (!Strings.isNullOrEmpty(actionsPath))
            fileMap.put(actionsPath, actionsPath);
        if (!Strings.isNullOrEmpty(ordersCsvPath))
            fileMap.put(ordersCsvPath, ordersCsvPath);
        String user = BacktestCfg.instance().getProperty("sftp.user");
        String pass = BacktestCfg.instance().getProperty("sftp.pass");
        String host = BacktestCfg.instance().getProperty("sftp.host");
        SftpUploader sftp = new SftpUploader(host, user, pass);
        sftp.upload(fileMap);
    }
}

From source file:edu.harvard.iq.dataverse.batch.util.LoggingUtil.java

public static Logger getJobLogger(String jobId) {
    try {/*from   w w  w . j  a  v  a 2 s .c o m*/
        Logger jobLogger = Logger.getLogger("job-" + jobId);
        FileHandler fh;
        String logDir = System.getProperty("com.sun.aas.instanceRoot") + System.getProperty("file.separator")
                + "logs" + System.getProperty("file.separator") + "batch-jobs"
                + System.getProperty("file.separator");
        checkCreateLogDirectory(logDir);
        fh = new FileHandler(logDir + "job-" + jobId + ".log");
        logger.log(Level.INFO, "JOB LOG: " + logDir + "job-" + jobId + ".log");
        jobLogger.addHandler(fh);
        fh.setFormatter(new JobLogFormatter());
        return jobLogger;
    } catch (SecurityException e) {
        logger.log(Level.SEVERE, "Unable to create job logger: " + e.getMessage());
        return null;
    } catch (IOException e) {
        logger.log(Level.SEVERE, "Unable to create job logger: " + e.getMessage());
        return null;
    }
}

From source file:com.screenslicer.common.Log.java

public static void init(String loggerName, boolean allowFileLogging) {
    logger = Logger.getLogger(loggerName);
    if (allowFileLogging) {
        FileHandler fh = null;
        try {//from   ww w.  j a  va2  s. c  o  m
            fh = new FileHandler("../" + loggerName + ".log", 250000, 9, true);
            logger.addHandler(fh);
            String logLevel = System.getProperty("screenslicer-logging", "prod");
            if (logLevel.equals("prod")) {
                logger.setLevel(Level.INFO);
            } else if (logLevel.equals("debug")) {
                logger.setLevel(Level.ALL);
            }
            SimpleFormatter formatter = new SimpleFormatter();
            fh.setFormatter(formatter);
        } catch (Throwable t) {
            t.printStackTrace();
            throw new RuntimeException(t);
        }
    }
}

From source file:org.noroomattheinn.utils.Utils.java

public static void setupLogger(File where, String basename, Logger logger, Level level) {
    rotateLogs(where, basename, 3);//from   w ww.  java2  s.  co  m

    FileHandler fileHandler;
    try {
        logger.setLevel(level);
        fileHandler = new FileHandler((new File(where, basename + "-00.log")).getAbsolutePath());
        fileHandler.setFormatter(new SimpleFormatter());
        fileHandler.setLevel(level);
        logger.addHandler(fileHandler);

        for (Handler handler : Logger.getLogger("").getHandlers()) {
            if (handler instanceof ConsoleHandler) {
                handler.setLevel(level);
            }
        }
    } catch (IOException | SecurityException ex) {
        logger.severe("Unable to establish log file: " + ex);
    }
}

From source file:com.sustainalytics.crawlerfilter.PDFTitleGeneration.java

/**
 * Method to initiate logger//  w w w .  j  a va2 s  .c om
 * @param file is a File object. The log file will be placed in this file's folder
 */
public static void initiateLogger(File file) {
    FileHandler fileHandler;
    try {
        // This block configure the logger with handler and formatter
        fileHandler = new FileHandler(file.getParentFile().getAbsolutePath() + "/" + "log.txt", true);
        logger.addHandler(fileHandler);
        SimpleFormatter formatter = new SimpleFormatter();
        fileHandler.setFormatter(formatter);

    } catch (SecurityException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:com.frostvoid.trekwar.server.TrekwarServer.java

/**
 * Initiates logging/*from  ww w  .  j a  va2s .c  om*/
 *
 * @throws IOException
 */
private static void initLogging() throws IOException {
    FileHandler fh = new FileHandler(galaxyFileName + ".log");
    fh.setLevel(LOG.getLevel());
    Formatter logFormat = new Formatter() {

        @Override
        public String format(LogRecord rec) {
            StringBuilder buf = new StringBuilder(200);
            buf.append("#");
            buf.append(new java.util.Date());
            buf.append(' ');
            buf.append(rec.getLevel());
            buf.append(' ');
            buf.append(rec.getSourceClassName()).append(".").append(rec.getSourceMethodName());
            buf.append(":\n");
            buf.append(formatMessage(rec));
            buf.append('\n');
            return buf.toString();
        }
    };
    fh.setFormatter(logFormat);

    ConsoleHandler ch = new ConsoleHandler();
    ch.setLevel(LOG.getLevel());
    Formatter conlogFormat = new Formatter() {
        @Override
        public String format(LogRecord rec) {
            StringBuilder buf = new StringBuilder(200);
            buf.append(rec.getLevel());
            buf.append(": ");
            buf.append(formatMessage(rec));
            buf.append('\n');
            return buf.toString();
        }
    };
    ch.setFormatter(conlogFormat);

    LOG.addHandler(fh);
    LOG.addHandler(ch);
}

From source file:org.peercast.core.PeerCastApplication.java

private void installLogHandlers() {
    //        org.seamless.util.logging.LoggingUtil.resetRootHandler(
    //                new FixedAndroidLogHandler()
    //        );/*from   www  .  j a  v a 2s  . c  o m*/
    Logger appLogger = Logger.getLogger(getPackageName());
    appLogger.setLevel(Level.FINEST);

    try {
        Logger rootLogger = Logger.getLogger("");
        rootLogger.setLevel(Level.INFO);

        String pat = getCacheDir().getAbsolutePath() + "/app%g.log";
        FileHandler handler = new FileHandler(pat, MAX_LOG_SIZE, 1, true);

        handler.setFormatter(new CsvFormatter());
        rootLogger.addHandler(handler);
    } catch (IOException e) {
        Log.e(TAG, "new FileHandler()", e);
    }
}

From source file:at.bitfire.davdroid.App.java

public void reinitLogger() {
    // don't use Android default logging, we have our own handlers
    log.setUseParentHandlers(false);/* w  w w .j a va  2 s.  c o m*/

    @Cleanup
    ServiceDB.OpenHelper dbHelper = new ServiceDB.OpenHelper(this);
    Settings settings = new Settings(dbHelper.getReadableDatabase());

    boolean logToFile = settings.getBoolean(LOG_TO_EXTERNAL_STORAGE, false),
            logVerbose = logToFile || Log.isLoggable(log.getName(), Log.DEBUG);

    // set logging level according to preferences
    log.setLevel(logVerbose ? Level.ALL : Level.INFO);

    // remove all handlers
    for (Handler handler : log.getHandlers())
        log.removeHandler(handler);

    // add logcat handler
    log.addHandler(LogcatHandler.INSTANCE);

    NotificationManagerCompat nm = NotificationManagerCompat.from(this);
    // log to external file according to preferences
    if (logToFile) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        builder.setSmallIcon(R.drawable.ic_sd_storage_light).setLargeIcon(getLauncherBitmap(this))
                .setContentTitle(getString(R.string.logging_davdroid_file_logging)).setLocalOnly(true);

        File dir = getExternalFilesDir(null);
        if (dir != null)
            try {
                String fileName = new File(dir, "davdroid-" + android.os.Process.myPid() + "-"
                        + DateFormatUtils.format(System.currentTimeMillis(), "yyyyMMdd-HHmmss") + ".txt")
                                .toString();
                log.info("Logging to " + fileName);

                FileHandler fileHandler = new FileHandler(fileName);
                fileHandler.setFormatter(PlainTextFormatter.DEFAULT);
                log.addHandler(fileHandler);
                builder.setContentText(dir.getPath())
                        .setSubText(getString(R.string.logging_to_external_storage_warning))
                        .setCategory(NotificationCompat.CATEGORY_STATUS)
                        .setPriority(NotificationCompat.PRIORITY_HIGH)
                        .setStyle(new NotificationCompat.BigTextStyle()
                                .bigText(getString(R.string.logging_to_external_storage, dir.getPath())))
                        .setOngoing(true);

            } catch (IOException e) {
                log.log(Level.SEVERE, "Couldn't create external log file", e);

                builder.setContentText(getString(R.string.logging_couldnt_create_file, e.getLocalizedMessage()))
                        .setCategory(NotificationCompat.CATEGORY_ERROR);
            }
        else
            builder.setContentText(getString(R.string.logging_no_external_storage));

        nm.notify(Constants.NOTIFICATION_EXTERNAL_FILE_LOGGING, builder.build());
    } else
        nm.cancel(Constants.NOTIFICATION_EXTERNAL_FILE_LOGGING);
}