List of usage examples for java.util.logging FileHandler setFormatter
public synchronized void setFormatter(Formatter newFormatter) throws SecurityException
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); }