// Path: src/main/java/com/github/lisicnu/log4android/Level.java
// public enum Level {
// 	FATAL(Level.FATAL_INT),
// 	ERROR(Level.ERROR_INT),
// 	WARN(Level.WARN_INT),
// 	INFO(Level.INFO_INT),
// 	DEBUG(Level.DEBUG_INT),
// 	TRACE(Level.TRACE_INT),
// 	OFF(Level.OFF_INT);
// 	
// 	public static final int FATAL_INT = 16;
// 	public static final int ERROR_INT = 8;
// 	public static final int WARN_INT = 4;
// 	public static final int INFO_INT = 2;
// 	public static final int DEBUG_INT = 1;
// 	public static final int TRACE_INT = 0;
// 	public static final int OFF_INT = -1;
// 	
// 	private final int levelValue;
// 	
// 	private Level(final int levelValue) {
// 		this.levelValue = levelValue;
// 	}
// 	
// 	public int toInt() {
// 		return levelValue;
// 	}
// 	
// 	public String toString() {
// 		return this.name();
// 	}
// }
// 
// Path: src/main/java/com/github/lisicnu/log4android/format/Formatter.java
// public interface Formatter {
// 
// 	/**
// 	 * Format the given message and the Throwable object.
// 	 * 
// 	 * @param clientID
// 	 *            the id of the client
// 	 * @param name
// 	 *            the name of the logger.
// 	 * @param time
// 	 *            the time since the first logging has done (in milliseconds).
// 	 * @param level
// 	 *            the logging level
// 	 * @param message
// 	 *            the message
// 	 * @param t
// 	 *            the exception.
// 	 * 
// 	 * @return a String that is not null.
// 	 */
// 	String format(String clientID, String name, long time, Level level,
//                   Object message, Throwable t);
// 
// 	/**
// 	 * Get the appender specific property names. This is workaround for the lack
// 	 * of reflection in Java ME and is used for configuration.
// 	 * 
// 	 * @return an array of the supported properties.
// 	 */
// 	String[] getPropertyNames();
// 
// 	/**
// 	 * Set the specified property to the supplied value.
// 	 * 
// 	 * @param name
// 	 *            the name of the property to set.
// 	 * @param value
// 	 *            the value to set.
// 	 */
// 	void setProperty(String name, String value);
// }


import com.github.lisicnu.log4android.Level;
import com.github.lisicnu.log4android.format.Formatter;
import java.io.IOException;
/*
 * Copyright 2008 The Microlog project @sourceforge.net
 * 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.
 */
package com.github.lisicnu.log4android.appender;



/**
 * The interface that all <code>Appender</code> classes must implement. An
 * <code>Appender</code> is responsible for doing the actual logging.
 * 
 * @author Johan Karlsson (johan.karlsson@jayway.se)
 */
public interface Appender {

	/**
	 * Size returned if log size cannot be determined.
	 */
	int SIZE_UNDEFINED = -1;

	/**
	 * Do the logging.
	 * 
	 * @param clientID
	 *            the id of the client.
	 * @param name
	 *            the name of the logger.
	 * @param time
	 *            the time since the first logging has done (in milliseconds).
	 * @param level
	 *            the logging level
	 * @param message
	 *            the message to log.
	 * @param t
	 *            the exception to log.
	 */
// Path: src/main/java/com/github/lisicnu/log4android/Level.java
// public enum Level {
// 	FATAL(Level.FATAL_INT),
// 	ERROR(Level.ERROR_INT),
// 	WARN(Level.WARN_INT),
// 	INFO(Level.INFO_INT),
// 	DEBUG(Level.DEBUG_INT),
// 	TRACE(Level.TRACE_INT),
// 	OFF(Level.OFF_INT);
// 	
// 	public static final int FATAL_INT = 16;
// 	public static final int ERROR_INT = 8;
// 	public static final int WARN_INT = 4;
// 	public static final int INFO_INT = 2;
// 	public static final int DEBUG_INT = 1;
// 	public static final int TRACE_INT = 0;
// 	public static final int OFF_INT = -1;
// 	
// 	private final int levelValue;
// 	
// 	private Level(final int levelValue) {
// 		this.levelValue = levelValue;
// 	}
// 	
// 	public int toInt() {
// 		return levelValue;
// 	}
// 	
// 	public String toString() {
// 		return this.name();
// 	}
// }
// 
// Path: src/main/java/com/github/lisicnu/log4android/format/Formatter.java
// public interface Formatter {
// 
// 	/**
// 	 * Format the given message and the Throwable object.
// 	 * 
// 	 * @param clientID
// 	 *            the id of the client
// 	 * @param name
// 	 *            the name of the logger.
// 	 * @param time
// 	 *            the time since the first logging has done (in milliseconds).
// 	 * @param level
// 	 *            the logging level
// 	 * @param message
// 	 *            the message
// 	 * @param t
// 	 *            the exception.
// 	 * 
// 	 * @return a String that is not null.
// 	 */
// 	String format(String clientID, String name, long time, Level level,
//                   Object message, Throwable t);
// 
// 	/**
// 	 * Get the appender specific property names. This is workaround for the lack
// 	 * of reflection in Java ME and is used for configuration.
// 	 * 
// 	 * @return an array of the supported properties.
// 	 */
// 	String[] getPropertyNames();
// 
// 	/**
// 	 * Set the specified property to the supplied value.
// 	 * 
// 	 * @param name
// 	 *            the name of the property to set.
// 	 * @param value
// 	 *            the value to set.
// 	 */
// 	void setProperty(String name, String value);
// }


// Path: src/main/java/com/github/lisicnu/log4android/appender/Appender.java
import com.github.lisicnu.log4android.Level;
import com.github.lisicnu.log4android.format.Formatter;
import java.io.IOException;

/*
 * Copyright 2008 The Microlog project @sourceforge.net
 * 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.
 */
package com.github.lisicnu.log4android.appender;



/**
 * The interface that all <code>Appender</code> classes must implement. An
 * <code>Appender</code> is responsible for doing the actual logging.
 * 
 * @author Johan Karlsson (johan.karlsson@jayway.se)
 */
public interface Appender {

	/**
	 * Size returned if log size cannot be determined.
	 */
	int SIZE_UNDEFINED = -1;

	/**
	 * Do the logging.
	 * 
	 * @param clientID
	 *            the id of the client.
	 * @param name
	 *            the name of the logger.
	 * @param time
	 *            the time since the first logging has done (in milliseconds).
	 * @param level
	 *            the logging level
	 * @param message
	 *            the message to log.
	 * @param t
	 *            the exception to log.
	 */
	void doLog(String clientID, String name, long time, Level level, Object message, Throwable t);