108 lines
3.2 KiB
Java
108 lines
3.2 KiB
Java
/* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved.
|
|
*
|
|
* This is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This software is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this software; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
* USA.
|
|
*/
|
|
|
|
package com.tigervnc.rfb;
|
|
|
|
public class LogWriter {
|
|
|
|
public LogWriter(String name_) {
|
|
name = name_;
|
|
level = globalLogLevel;
|
|
next = log_writers;
|
|
log_writers = this;
|
|
}
|
|
|
|
public void setLevel(int level_) { level = level_; }
|
|
|
|
public void write(int level, String str) {
|
|
if (level <= this.level) {
|
|
System.err.println(name+": "+str);
|
|
}
|
|
}
|
|
|
|
public void error(String fmt, Object... args) {
|
|
write(0, String.format(fmt, args));
|
|
}
|
|
public void status(String fmt, Object... args) {
|
|
write(10, String.format(fmt, args));
|
|
}
|
|
public void info(String fmt, Object... args) {
|
|
write(30, String.format(fmt, args));
|
|
}
|
|
public void debug(String fmt, Object... args) {
|
|
write(100, String.format(fmt, args));
|
|
}
|
|
|
|
public static boolean setLogParams(String params) {
|
|
globalLogLevel = Integer.parseInt(params);
|
|
LogWriter current = log_writers;
|
|
while (current != null) {
|
|
current.setLevel(globalLogLevel);
|
|
current = current.next;
|
|
}
|
|
return true;
|
|
// int colon = params.indexOf(':');
|
|
// String logwriter_name = params.substring(0, colon);
|
|
// params = params.substring(colon+1);
|
|
// colon = params.indexOf(':');
|
|
// String logger_name = params.substring(0, colon);
|
|
// params = params.substring(colon+1);
|
|
// int level = Integer.parseInt(params);
|
|
// // XXX ignore logger name for the moment
|
|
|
|
// System.err.println("setting level to "+level);
|
|
// System.err.println("logwriters is "+log_writers);
|
|
// if (logwriter_name.equals("*")) {
|
|
// LogWriter current = log_writers;
|
|
// while (current != null) {
|
|
// //current.setLog(logger);
|
|
// System.err.println("setting level of "+current.name+" to "+level);
|
|
// current.setLevel(level);
|
|
// current = current.next;
|
|
// }
|
|
// return true;
|
|
// }
|
|
|
|
// LogWriter logwriter = getLogWriter(logwriter_name);
|
|
// if (logwriter == null) {
|
|
// System.err.println("no logwriter found: "+logwriter_name);
|
|
// return false;
|
|
// }
|
|
|
|
// //logwriter.setLog(logger);
|
|
// logwriter.setLevel(level);
|
|
// return true;
|
|
}
|
|
|
|
|
|
static LogWriter getLogWriter(String name) {
|
|
LogWriter current = log_writers;
|
|
while (current != null) {
|
|
if (name.equalsIgnoreCase(current.name)) return current;
|
|
current = current.next;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
String name;
|
|
int level;
|
|
LogWriter next;
|
|
static LogWriter log_writers;
|
|
static int globalLogLevel = 30;
|
|
}
|