Java tutorial
//package com.java2s; /******************************************************************************* * * Pentaho Big Data * * Copyright (C) 2002-2013 by Pentaho : http://www.pentaho.com * ******************************************************************************* * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ******************************************************************************/ import java.io.FileOutputStream; import java.io.PrintWriter; import java.io.StringWriter; public class Main { public static void logMessage(String message) { logMessage(Thread.currentThread().hashCode(), message); } public static void logMessage(Throwable t) { logMessage(Thread.currentThread().hashCode(), getStackTrace(t)); } public static void logMessage(String message, Throwable t) { logMessage(Thread.currentThread().hashCode(), message); logMessage(Thread.currentThread().hashCode(), getStackTrace(t)); } public static void logMessage(int id, String message) { logMessage(new Integer(id).toString(), message); } public static void logMessage(int id, Throwable t) { logMessage(new Integer(id).toString(), getStackTrace(t)); } public static void logMessage(int id, String message, Throwable t) { logMessage(new Integer(id).toString(), message); logMessage(new Integer(id).toString(), getStackTrace(t)); } public static void logMessage(String id, String message) { try { FileOutputStream fos = new FileOutputStream("/tmp/PDIMapReduce.log", true); //$NON-NLS-1$ if (id != null) { fos.write((id + ": ").getBytes()); //$NON-NLS-1$ } fos.write(message.getBytes()); fos.write(System.getProperty("line.separator").getBytes()); //$NON-NLS-1$ fos.close(); } catch (Throwable t) { } } public static String getStackTrace(Throwable t) { StringWriter stringWritter = new StringWriter(); PrintWriter printWritter = new PrintWriter(stringWritter, true); t.printStackTrace(printWritter); printWritter.flush(); stringWritter.flush(); return stringWritter.toString(); } }