new logging

This commit is contained in:
mrbesen 2018-09-15 17:49:25 +02:00
parent cd7a451d88
commit e2d7b48c2e
6 changed files with 75 additions and 8 deletions

View File

@ -28,5 +28,10 @@
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>

View File

@ -7,7 +7,6 @@ import java.util.LinkedList;
import java.util.Scanner;
import javax.net.ssl.HttpsURLConnection;
import javax.print.attribute.SetOfIntegerSyntax;
import org.json.JSONArray;
import org.json.JSONObject;
@ -18,11 +17,14 @@ import de.mrbesen.telegram.event.Event;
import de.mrbesen.telegram.event.EventManager;
import de.mrbesen.telegram.event.events.UserSendAudioEvent;
import de.mrbesen.telegram.event.events.UserSendMessageEvent;
import de.mrbesen.telegram.log.Log;
import de.mrbesen.telegram.log.Log4JLog;
import de.mrbesen.telegram.log.SimpleLog;
import de.mrbesen.telegram.objects.JSONBased.Member;
import de.mrbesen.telegram.objects.TUser.Status;
import de.mrbesen.telegram.objects.TAudio;
import de.mrbesen.telegram.objects.TMessage;
import de.mrbesen.telegram.objects.TUser;
import de.mrbesen.telegram.objects.TUser.Status;
public class TelegramAPI implements Runnable {
@ -36,10 +38,11 @@ public class TelegramAPI implements Runnable {
private Thread thread;
private boolean run = true;
private String helpmessage = "generic helppage\nuse TelegramAPI.setHelpText(java.lang.String) to change this.";
private LinkedList<TUser> users = new LinkedList<>();
private CommandManager cmdmgr = new CommandManager();
private EventManager evntmgr = new EventManager();
Log log = new SimpleLog();
public TelegramAPI(String apikey) {
if (!apikey.matches(TOKENREGEX) ) {
@ -67,7 +70,7 @@ public class TelegramAPI implements Runnable {
OutputStreamWriter wr = new OutputStreamWriter(con.getOutputStream());
wr.write(parameter);
wr.flush();
System.out.println( this.getClass().getSimpleName() + ": request: " + request + " content " + parameter + " -> " + con.getResponseCode() + ", " + con.getResponseMessage());
log.log( this.getClass().getSimpleName() + ": request: " + request + " content " + parameter + " -> " + con.getResponseCode() + ", " + con.getResponseMessage());
if(con.getResponseCode() == 200) {
Scanner s = new Scanner(con.getInputStream());
StringBuilder sb_apianswer = new StringBuilder();
@ -87,7 +90,7 @@ public class TelegramAPI implements Runnable {
JSONObject o = request("sendMessage", msg.getQ());
return new TMessage(o.getJSONObject("result"), this);
} catch(IOException e) {
e.printStackTrace();
log.log("",e);
}
return null;
}
@ -140,8 +143,7 @@ public class TelegramAPI implements Runnable {
try {
processUpdates(request("getUpdates", "offset=" + msg_offset));
} catch (IOException e) {
System.err.println("error getting updates.");
e.printStackTrace();
log.log("error getting updates.", e);
}
}
@ -192,6 +194,19 @@ public class TelegramAPI implements Runnable {
helpmessage = ( helptext == null ? "" : helptext);
}
/**
* Set the logging method, use {@link Log4JLog} for usage of LOG4J,
* or {@link SimpleLog} for usage of System.out.println();
* use Null t odisable logging the default is {@link SimpleLog}
* @param l
*/
public void setLog(Log l) {
if(l == null)
log = new Log();
else
log = l;
}
public CommandManager getCommandManager() {
return cmdmgr;
}
@ -298,4 +313,5 @@ public class TelegramAPI implements Runnable {
isArray = b;
}
}
}

View File

@ -31,7 +31,7 @@ public class CommandManager {
if(result)
break;
} catch(Throwable t) {
System.err.println("Error, while performing Command. ");
System.err.println("Error, while performing Command. ");//TODO do loggin here
t.printStackTrace();
}
}

View File

@ -0,0 +1,12 @@
package de.mrbesen.telegram.log;
public class Log {
public void log( String msg) {
}
public void log(String msg, Throwable t) {
}
}

View File

@ -0,0 +1,18 @@
package de.mrbesen.telegram.log;
import org.apache.log4j.Logger;
public class Log4JLog extends Log {
Logger log = Logger.getRootLogger();
@Override
public void log(String msg) {
log.info(msg);
}
@Override
public void log(String msg, Throwable t) {
log.info(msg, t);
}
}

View File

@ -0,0 +1,16 @@
package de.mrbesen.telegram.log;
public class SimpleLog extends Log {
@Override
public void log(String msg) {
System.out.println(msg);
}
@Override
public void log(String msg, Throwable t) {
System.out.println(msg);
t.printStackTrace(System.out);
}
}