{"action":"opened","issue":{"url":"https://api.github.com/repos/orientechnologies/orientdb/issues/5102","labels_url":"https://api.github.com/repos/orientechnologies/orientdb/issues/5102/labels{/name}","comments_url":"https://api.github.com/repos/orientechnologies/orientdb/issues/5102/comments","events_url":"https://api.github.com/repos/orientechnologies/orientdb/issues/5102/events","html_url":"https://github.com/orientechnologies/orientdb/issues/5102","id":110950674,"number":5102,"title":"Improve internal logging api and implementation","user":{"login":"tglman","id":424369,"avatar_url":"https://avatars.githubusercontent.com/u/424369?v=3","gravatar_id":"","url":"https://api.github.com/users/tglman","html_url":"https://github.com/tglman","followers_url":"https://api.github.com/users/tglman/followers","following_url":"https://api.github.com/users/tglman/following{/other_user}","gists_url":"https://api.github.com/users/tglman/gists{/gist_id}","starred_url":"https://api.github.com/users/tglman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tglman/subscriptions","organizations_url":"https://api.github.com/users/tglman/orgs","repos_url":"https://api.github.com/users/tglman/repos","events_url":"https://api.github.com/users/tglman/events{/privacy}","received_events_url":"https://api.github.com/users/tglman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-12T10:42:03Z","updated_at":"2015-10-12T10:42:03Z","closed_at":null,"body":"The current logging implementation is based on  https://github.com/orientechnologies/orientdb/blob/master/core/src/main/java/com/orientechnologies/common/log/OLogManager.java\r\n\r\nthat support this features:\r\n- Log message formatting\r\n- Runtime detection and log of the current db\r\n- global flags for enable and disable level\r\n- runtime configuration of the logging\r\n\r\nthe limits of this implementation are:\r\n- runtime log lookup(in a map) and level check on every log call\r\n- only global level flags ( as soon as is enabled debug on a corner feature i get all debug code executed)\r\n\r\nfeature we should include:\r\n- static log reference that remove maps lookup\r\n- for package/class level flags ( can be implemented with `log.isLoggable(iLevel)`)\r\n\r\none solution could be rely more on the underling implementation and use it directly in a standard way with static loggers, to check the runtime reconfiguration though.\r\n"}}