public class Acidictive extends AcidCore
{
private static final Logger log = LoggerFactory.getLogger(Acidictive.class);
+ // logs here don't go to irc
+ public static final Logger fileLogger = LoggerFactory.getLogger("file");
public static CloakGenerator cloakGenerator;
public static Config conf;
Protocol.notice(me.getSID(), recipient, message);
}
- static SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
-
- public static void log(String str)
- {
- Calendar now = Calendar.getInstance();
- File f = new File("logs//acidictive.log." + formatter.format(now.getTime()));
- now.clear();
- now = null;
- String date = "[" + new Date().toString() + "]: ";
- BufferedWriter print = createWriter(f, true);
- try
- {
- print.write(date + str);
- print.newLine();
- print.close();
- print = null;
- }
- catch (Exception e)
- {
- log.warn("Unable to write to logfile", e);
- }
- f = null;
- }
-
- public static BufferedWriter createWriter(File f, boolean append)
- {
- // delete the file if we are told not to append
- if (!append)
- f.delete();
- // check if the folder exists, create if it doesn't
- if (f.getParentFile() != null && !f.getParentFile().exists())
- f.getParentFile().mkdir();
- // check if the file exists, create if it doesn't
- if (!f.exists())
- {
- try
- {
- f.createNewFile();
- }
- catch (Exception e)
- {
- log.warn("Unable to create file", e);
- }
- }
- // all successful, let's create and return the BufferedWriter
- try
- {
- return new BufferedWriter(new FileWriter(f.getPath(), append));
- }
- catch (Exception e)
- {
- log.warn(null, e);
- }
- return null;
- }
-
public static void reply(String source, String target, String msg)
{
if (!target.startsWith("#"))
--- /dev/null
+package net.rizon.acid.logging;
+
+import ch.qos.logback.classic.spi.ILoggingEvent;
+import ch.qos.logback.core.filter.Filter;
+import ch.qos.logback.core.spi.FilterReply;
+import net.rizon.acid.core.Acidictive;
+
+public class FileFilter extends Filter<ILoggingEvent>
+{
+ @Override
+ public FilterReply decide(ILoggingEvent event)
+ {
+ boolean isFileLogger = event.getLoggerName().equals(Acidictive.fileLogger.getName());
+ return isFileLogger ? FilterReply.DENY : FilterReply.NEUTRAL;
+ }
+
+}
<timestamp key="byDay" datePattern="yyyyMMdd"/>\r
\r
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
- <filter class="net.rizon.moo.logging.ConsoleFilter" />\r
+ <filter class="net.rizon.acid.logging.ConsoleFilter" />\r
\r
<encoder>\r
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>\r
</encoder>\r
</appender>\r
\r
- <appender name="IRC" class="net.rizon.acid.logging.Logger" />\r
+ <appender name="IRC" class="net.rizon.acid.logging.Logger">\r
+ <filter class="net.rizon.acid.logging.FileFilter" />\r
+ </appender>\r
\r
<root level="DEBUG"> \r
<appender-ref ref="STDOUT" />\r