@mpuk_cl0ne You should, instead, make your own thread. Also, if you want anyone to use it you should first make it work properly, it gives errors when using it with all 4 options enabled.
I think the start up should look like this, Code: #############START UP############# 2012-05-29 05:34:45 [LOAD] Starting Minequery server on 176.31.226.225:25652 2012-05-29 05:34:45 [LOAD] In-Game Debug (1.0.0) 2012-05-29 05:34:45 [LOAD] Minequery (1.5) 2012-05-29 05:34:45 [LOAD] MiniEssentials (0.4.3) 2012-05-29 05:34:45 [LOAD] Essentials (2.9.3) 2012-05-29 05:34:45 [LOAD] World Guard (1.4) 2012-05-29 05:34:45 [LOAD] World Edit (1.5) 2012-05-29 05:34:45 [LOAD] Guardian (1.0) #############UPDATES############# 2012-05-29 05:34:45 [UPDATE] Major World Guard (1.5) 2012-05-29 05:34:45 [UPDATE] Minor World Edit (1.5.4) #############ERRORS############# 2012-05-29 05:34:45 [MINOR] World Guard Chunk Dropped 2012-05-29 05:34:45 [MINOR] MiniEssentials Clashes With Essentials 2012-05-29 05:34:45 [MODERATE] Guardian Can't Connect To A Database 2012-05-29 05:34:45 [SEVERE] In-Game Debug Detects Errors In Minequery #############END OF START UP#############
@Fishchunks Well, that's kinda possible... I myself use a next-tick delayed task (runs after all plugins have loaded) to load the required files, settings and stuff, and if there's an error it'll be printed after all plugins have loaded, instead of between loading messages.
While I do agree - I feel that bPermissions pretty much presents the minimum of information needed anyway.
I just want to point out that I am VERY eager to get this in place, and absolutely, 100% welcome to recommendations. Please feel free to update Bukkit-1715 with suggestions. @codename_B This is what CraftBukkit tells me about your plugins: Code: 2012-05-29 07:26:44 [INFO] [bPermissionsWebGUI] Loading bPermissionsWebGUI v2.0 2012-05-29 07:26:44 [INFO] [bPermissions] Loading bPermissions v2.9.4 This is what gets outputted into the logs by your plugins. The only extra information I received was telling me my world, Arcadia, was loaded. This is not relevant to me, but may be nice to see (aka, a more verbose option in the config would show that info). Code: 2012-05-29 07:26:48 [INFO] [bPermissionsWebGUI] Enabling bPermissionsWebGUI v2.0 2012-05-29 07:26:48 [INFO] [bPermissionsWebGUI 2.0] bPermissions 2.9.4 detected, hooking in. 2012-05-29 07:26:48 [INFO] [bPermissionsWebGUI 2.0] Enabled 2012-05-29 07:26:48 [INFO] [bPermissions] Enabling bPermissions v2.9.4 2012-05-29 07:26:48 [INFO] [bPermissions] Loading world: Arcadia 2012-05-29 07:26:49 [INFO] [bPermissions] Enabled Hence, I respectfully disagree with your statement.
@Hidendra I second everything Hidendra says. The java logger provides a method to use for this already. You simply log stuff at a lower level and then set the threshold lower if plugin specific debugging is turned on. It would be even better if Bukkit directed these messages to the right files. This has been made worse recently by the extra unnecessary spam introduced by Bukkit when enabing and disabling all plugins. There is also confusing error messages and useless spam when using bukkit persistence which can not be suppressed easily. All these things would be steps in the right direction.
This would be nice... A bit annoying when plugins print 4-5 lines in the console. When I make bigger plugins, I'll be sure to keep this in mind. Good suggestion, +1!
Code: package com.bukkitarena; import java.util.logging.Logger; /** * @author Nate Mortensen * */ public class VerboseLogger{ Logger log = Logger.getLogger("Minecraft"); MessageImportance minimum; public VerboseLogger(String s){ minimum = Enum.valueOf(MessageImportance.class, s); } public void info(String msg, MessageImportance m){ if (m.getValue() >= minimum.getValue()){ log.info("[BukkitArena]"+m.getPrefix()+msg); } } } & Code: package com.bukkitarena; /** * @author Nate Mortensen * */ public enum MessageImportance { LOW(0, "[DEBUG]"), LOWEST(1, "[INFO]"), NORMAL(2, ""), HIGH(3, "[Warning]"), HIGHEST(4, "[WARN]"), URGENT(5, "[SEVERE]"); int value; String prefix; private MessageImportance(int v, String p){ value = v; prefix = p; } public String getPrefix(){ return prefix; } public int getValue(){ return value; } } I'm going to be using this inside my upcoming plugin, BukkitArena.
I haven't read all of the replies to this thread, but how about this: plugin developers shall make their logging into a plugin specific log file to which contains all of the plugin logs where only the very vital is posted on the server log pointing to a specific entry in the verbose log.