bukkit - Console Filter plugin dev -


ok! developing console filter plugin server (ftb, monster, 1.6.4). ive been succesful in blocking console log set up, thier few logs im having difficulty with. here section console:

21.04 12:43:02 [server] startup [2.0.2] recieved client info dirtyredz 21.04 12:43:00 [server] info [consolefilter] message blocked: sending serverside check to: dirtyredz 21.04 12:43:00 [server] info [consolefilter] checking message: sending serverside check to: dirtyredz 21.04 12:43:00 [server] info [consolefilter] message blocked: loading player: dirtyredz 21.04 12:43:00 [server] info [consolefilter] checking message: loading player: dirtyredz 21.04 12:43:00 [server] info sending config data dirtyredz 21.04 12:43:00 [multicraft] dirtyredz ran command message of day 21.04 12:43:00 [consolefilter] checking message: dirtyredz ran command message of day 21.04 12:43:00 [connect] user dirtyredz, ip 11.1.1.111 21.04 12:43:00 [connect] user [consolefilter] checking message: dirtyredz, ip 11.1.1.111 

the logs "[consolefilter] checking message:" im using testing, still runs after message becuase im allowing it. im having trouble logs below:

i have 2 problems here: 1. [multicraft] dirtyredz ran command message of day, being run through logger, being approved before code has chance check log , stop it. whats realy curious log, if test if getmessage() == null, passes true, can still call record.getmessage() , display.

  1. [server] info sending config data dirtyredz & [server] startup [2.0.2] recieved client info dirtyredz, not being processed through logger, dont have chance stop them.

here code chunk relevant:

@override public void onenable() { getlogger().info("[consolefilter] onenable has been invoked!");//bukkit has initialized consolefilter  fillfromconfig(); bukkit.getlogger().setfilter(new filter() {  @override public boolean isloggable(logrecord record) { getlogger().info("[consolefilter] checking message: " + record.getmessage()); set<string> keyset=nodeshashmap.keyset(); for(string i:keyset){ string str = i; if(consolefiltering && !nodeshashmap.get(i).getdelete()){ if(nodeshashmap.get(i).getlist() == "contains"){ if(record.getmessage().tolowercase().contains(str.tolowercase())){ date time = calendar.getinstance().gettime(); logtofile(time + " | " + record.getlevel() + " | " +record.getmessage(),nodeshashmap.get(i).getfile(),"logs"); getlogger().info("[consolefilter] message blocked: " + record.getmessage()); return false; } }else if(nodeshashmap.get(i).getlist() == "ends_with"){ if(record.getmessage().tolowercase().endswith(str.tolowercase())){ date time = calendar.getinstance().gettime(); logtofile(time + " | " + record.getlevel() + " | " +record.getmessage(),nodeshashmap.get(i).getfile(),"logs"); getlogger().info("[consolefilter] message blocked: " + record.getmessage()); return false; } }else if(nodeshashmap.get(i).getlist() == "equals"){ if(record.getmessage().tolowercase().equals(str.tolowercase())){ date time = calendar.getinstance().gettime(); logtofile(time + " | " + record.getlevel() + " | " +record.getmessage(),nodeshashmap.get(i).getfile(),"logs"); getlogger().info("[consolefilter] message blocked: " + record.getmessage()); return false; } } } } return true; } }); 

this becuase multicraft doesnt support log filtering api's written log no matter case.


Comments

Popular posts from this blog

jQuery Mobile app not scrolling in Firefox -

c++ - How to add Crypto++ library to Qt project -

php array slice every 2th rule -