Commit c3c468ae authored by Liang Ding's avatar Liang Ding

更友好的日志级别与文案

parent 469846dd
...@@ -22,6 +22,7 @@ import javax.servlet.http.HttpServletRequest; ...@@ -22,6 +22,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionEvent;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.Latkes;
import org.b3log.latke.event.EventManager; import org.b3log.latke.event.EventManager;
import org.b3log.latke.ioc.LatkeBeanManager; import org.b3log.latke.ioc.LatkeBeanManager;
import org.b3log.latke.ioc.Lifecycle; import org.b3log.latke.ioc.Lifecycle;
...@@ -53,7 +54,7 @@ import org.json.JSONObject; ...@@ -53,7 +54,7 @@ import org.json.JSONObject;
* Solo Servlet listener. * Solo Servlet listener.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.5.0.8, Oct 17, 2015 * @version 1.5.0.9, Oct 31, 2015
* @since 0.3.1 * @since 0.3.1
*/ */
public final class SoloServletListener extends AbstractServletListener { public final class SoloServletListener extends AbstractServletListener {
...@@ -139,7 +140,7 @@ public final class SoloServletListener extends AbstractServletListener { ...@@ -139,7 +140,7 @@ public final class SoloServletListener extends AbstractServletListener {
pluginManager.load(); pluginManager.load();
LOGGER.info("Initialized the context"); LOGGER.info("Solo is running [" + Latkes.getServePath() + "]");
Stopwatchs.end(); Stopwatchs.end();
LOGGER.log(Level.DEBUG, "Stopwatch: {0}{1}", Strings.LINE_SEPARATOR, Stopwatchs.getTimingStat()); LOGGER.log(Level.DEBUG, "Stopwatch: {0}{1}", Strings.LINE_SEPARATOR, Stopwatchs.getTimingStat());
...@@ -210,7 +211,7 @@ public final class SoloServletListener extends AbstractServletListener { ...@@ -210,7 +211,7 @@ public final class SoloServletListener extends AbstractServletListener {
private void loadPreference() { private void loadPreference() {
Stopwatchs.start("Load Preference"); Stopwatchs.start("Load Preference");
LOGGER.info("Loading preference...."); LOGGER.debug("Loading preference....");
final PreferenceRepository preferenceRepository = beanManager.getReference(PreferenceRepositoryImpl.class); final PreferenceRepository preferenceRepository = beanManager.getReference(PreferenceRepositoryImpl.class);
JSONObject preference; JSONObject preference;
...@@ -218,7 +219,7 @@ public final class SoloServletListener extends AbstractServletListener { ...@@ -218,7 +219,7 @@ public final class SoloServletListener extends AbstractServletListener {
try { try {
preference = preferenceRepository.get(Preference.PREFERENCE); preference = preferenceRepository.get(Preference.PREFERENCE);
if (null == preference) { if (null == preference) {
LOGGER.log(Level.WARN, "Can't not init default skin, please init Solo first"); LOGGER.warn("Can't not init default skin, please init Solo first");
return; return;
} }
...@@ -240,7 +241,7 @@ public final class SoloServletListener extends AbstractServletListener { ...@@ -240,7 +241,7 @@ public final class SoloServletListener extends AbstractServletListener {
private void registerEventProcessor() { private void registerEventProcessor() {
Stopwatchs.start("Register Event Processors"); Stopwatchs.start("Register Event Processors");
LOGGER.log(Level.INFO, "Registering event processors...."); LOGGER.debug("Registering event processors....");
try { try {
final EventManager eventManager = beanManager.getReference(EventManager.class); final EventManager eventManager = beanManager.getReference(EventManager.class);
...@@ -264,7 +265,7 @@ public final class SoloServletListener extends AbstractServletListener { ...@@ -264,7 +265,7 @@ public final class SoloServletListener extends AbstractServletListener {
throw new IllegalStateException(e); throw new IllegalStateException(e);
} }
LOGGER.log(Level.INFO, "Registering event processors...."); LOGGER.debug("Registering event processors....");
Stopwatchs.end(); Stopwatchs.end();
} }
......
...@@ -19,23 +19,35 @@ import java.awt.Desktop; ...@@ -19,23 +19,35 @@ import java.awt.Desktop;
import java.io.File; import java.io.File;
import java.net.URI; import java.net.URI;
import java.util.ResourceBundle; import java.util.ResourceBundle;
import org.b3log.latke.logging.Logger;
import org.b3log.latke.util.Strings;
import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Slf4jLog;
import org.eclipse.jetty.webapp.WebAppContext; import org.eclipse.jetty.webapp.WebAppContext;
/** /**
* Solo with embedded Jetty, <a href="https://github.com/b3log/solo/issues/12037">standalone mode</a>. * Solo with embedded Jetty, <a href="https://github.com/b3log/solo/issues/12037">standalone mode</a>.
* *
* <ul> * <ul>
* <li>Windows: java -cp WEB-INF/lib/*;WEB-INF/classes org.b3log.solo.Solo</li> * <li>Windows: java -cp WEB-INF/lib/*;WEB-INF/classes org.b3log.solo.Starter</li>
* <li>Unix-like: java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.solo.Solo</li> * <li>Unix-like: java -cp WEB-INF/lib/*:WEB-INF/classes org.b3log.solo.Starter</li>
* </ul> * </ul>
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.1, Oct 31, 2015 * @version 1.0.0.2, Oct 31, 2015
* @since 1.2.0 * @since 1.2.0
*/ */
public final class Starter { public final class Starter {
static {
try {
Log.setLog(new Slf4jLog());
} catch (final Exception e) {
e.printStackTrace();
}
}
/** /**
* Main. * Main.
* *
...@@ -43,6 +55,10 @@ public final class Starter { ...@@ -43,6 +55,10 @@ public final class Starter {
* @throws java.lang.Exception if start failed * @throws java.lang.Exception if start failed
*/ */
public static void main(final String[] args) throws Exception { public static void main(final String[] args) throws Exception {
final Logger logger = Logger.getLogger(Starter.class);
logger.info("Standalone mode, see [https://github.com/b3log/solo/wiki/standalone_mode] for more details.");
String webappDirLocation = "src/main/webapp/"; // POM structure in dev env String webappDirLocation = "src/main/webapp/"; // POM structure in dev env
final File file = new File(webappDirLocation); final File file = new File(webappDirLocation);
...@@ -53,7 +69,10 @@ public final class Starter { ...@@ -53,7 +69,10 @@ public final class Starter {
final ResourceBundle latke = ResourceBundle.getBundle("latke"); final ResourceBundle latke = ResourceBundle.getBundle("latke");
final int port = Integer.valueOf(latke.getString("serverPort")); final int port = Integer.valueOf(latke.getString("serverPort"));
final String contextPath = latke.getString("contextPath"); String contextPath = latke.getString("contextPath");
if (Strings.isEmptyOrNull(contextPath)) {
contextPath = "/";
}
Server server = new Server(port); Server server = new Server(port);
WebAppContext root = new WebAppContext(); WebAppContext root = new WebAppContext();
......
...@@ -54,7 +54,7 @@ import org.b3log.solo.SoloServletListener; ...@@ -54,7 +54,7 @@ import org.b3log.solo.SoloServletListener;
* </p> * </p>
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.1.0.3, Jan 4, 2013 * @version 1.1.0.4, Oct 31, 2015
* @since 0.3.1 * @since 0.3.1
*/ */
@RequestProcessor @RequestProcessor
...@@ -130,7 +130,7 @@ public class CaptchaProcessor { ...@@ -130,7 +130,7 @@ public class CaptchaProcessor {
* Loads captcha. * Loads captcha.
*/ */
private synchronized void loadCaptchas() { private synchronized void loadCaptchas() {
LOGGER.info("Loading captchas...."); LOGGER.debug("Loading captchas....");
try { try {
captchas = new Image[CAPTCHA_COUNT]; captchas = new Image[CAPTCHA_COUNT];
...@@ -182,6 +182,6 @@ public class CaptchaProcessor { ...@@ -182,6 +182,6 @@ public class CaptchaProcessor {
throw new IllegalStateException(e); throw new IllegalStateException(e);
} }
LOGGER.info("Loaded captch images"); LOGGER.debug("Loaded captch images");
} }
} }
...@@ -50,7 +50,7 @@ import static org.b3log.solo.util.Skins.setDirectoryForTemplateLoading; ...@@ -50,7 +50,7 @@ import static org.b3log.solo.util.Skins.setDirectoryForTemplateLoading;
* Preference management service. * Preference management service.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.1.8, Jun 18, 2014 * @version 1.0.1.9, Oct 31, 2015
* @since 0.4.0 * @since 0.4.0
*/ */
@Service @Service
...@@ -86,7 +86,7 @@ public class PreferenceMgmtService { ...@@ -86,7 +86,7 @@ public class PreferenceMgmtService {
public void loadSkins(final JSONObject preference) throws Exception { public void loadSkins(final JSONObject preference) throws Exception {
Stopwatchs.start("Load Skins"); Stopwatchs.start("Load Skins");
LOGGER.info("Loading skins...."); LOGGER.debug("Loading skins....");
final Set<String> skinDirNames = getSkinDirNames(); final Set<String> skinDirNames = getSkinDirNames();
...@@ -112,7 +112,7 @@ public class PreferenceMgmtService { ...@@ -112,7 +112,7 @@ public class PreferenceMgmtService {
final String currentSkinDirName = preference.optString(SKIN_DIR_NAME); final String currentSkinDirName = preference.optString(SKIN_DIR_NAME);
final String skinName = preference.optString(SKIN_NAME); final String skinName = preference.optString(SKIN_NAME);
LOGGER.log(Level.INFO, "Current skin[name={0}]", skinName); LOGGER.log(Level.DEBUG, "Current skin[name={0}]", skinName);
if (!skinDirNames.contains(currentSkinDirName)) { if (!skinDirNames.contains(currentSkinDirName)) {
LOGGER.log(Level.WARN, "Configred skin[dirName={0}] can not find, try to use " + "default skin[dirName=" LOGGER.log(Level.WARN, "Configred skin[dirName={0}] can not find, try to use " + "default skin[dirName="
...@@ -135,7 +135,7 @@ public class PreferenceMgmtService { ...@@ -135,7 +135,7 @@ public class PreferenceMgmtService {
final String skinsString = skinArray.toString(); final String skinsString = skinArray.toString();
if (!skinsString.equals(preference.getString(SKINS))) { if (!skinsString.equals(preference.getString(SKINS))) {
LOGGER.log(Level.INFO, "The skins directory has been changed, persists " + "the change into preference"); LOGGER.debug("The skins directory has been changed, persists the change into preference");
preference.put(SKINS, skinsString); preference.put(SKINS, skinsString);
updatePreference(preference); updatePreference(preference);
} }
...@@ -148,7 +148,7 @@ public class PreferenceMgmtService { ...@@ -148,7 +148,7 @@ public class PreferenceMgmtService {
TimeZones.setTimeZone("Asia/Shanghai"); TimeZones.setTimeZone("Asia/Shanghai");
} }
LOGGER.info("Loaded skins...."); LOGGER.debug("Loaded skins....");
Stopwatchs.end(); Stopwatchs.end();
} }
......
...@@ -42,7 +42,7 @@ import org.b3log.solo.SoloServletListener; ...@@ -42,7 +42,7 @@ import org.b3log.solo.SoloServletListener;
* Skin utilities. * Skin utilities.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.3.6, Apr 15, 2014 * @version 1.0.3.7, Oct 31, 2015
* @since 0.3.1 * @since 0.3.1
*/ */
public final class Skins { public final class Skins {
...@@ -82,7 +82,7 @@ public final class Skins { ...@@ -82,7 +82,7 @@ public final class Skins {
if (null == langs) { if (null == langs) {
LANG_MAP.clear(); // Collect unused skin languages LANG_MAP.clear(); // Collect unused skin languages
LOGGER.log(Level.INFO, "Loading skin [dirName={0}, locale={1}]", new Object[] {currentSkinDirName, localeString}); LOGGER.log(Level.DEBUG, "Loading skin [dirName={0}, locale={1}]", new Object[] {currentSkinDirName, localeString});
langs = new HashMap<String, String>(); langs = new HashMap<String, String>();
final String language = Locales.getLanguage(localeString); final String language = Locales.getLanguage(localeString);
...@@ -102,7 +102,7 @@ public final class Skins { ...@@ -102,7 +102,7 @@ public final class Skins {
} }
LANG_MAP.put(langName, langs); LANG_MAP.put(langName, langs);
LOGGER.log(Level.INFO, "Loaded skin[dirName={0}, locale={1}, keyCount={2}]", LOGGER.log(Level.DEBUG, "Loaded skin[dirName={0}, locale={1}, keyCount={2}]",
new Object[] {currentSkinDirName, localeString, langs.size()}); new Object[] {currentSkinDirName, localeString, langs.size()});
} }
......
...@@ -16,18 +16,21 @@ ...@@ -16,18 +16,21 @@
# #
# Description: Solo logging configurations. # Description: Solo logging configurations.
# Version: 1.0.0.3, Feb 11, 2015 # Version: 1.1.0.3, Oct 31, 2015
# Author: Liang Ding # Author: Liang Ding
# #
log4j.rootLogger=ERROR, stdout log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p]-[%d{yyyy-MM-dd HH:mm:ss}]-[%c:%L]: %m%n log4j.appender.stdout.layout.ConversionPattern=[%-5p]-[%d{yyyy-MM-dd HH:mm:ss}]-[%c:%L]: %m%n
log4j.logger.org.b3log.solo=ERROR log4j.logger.org.b3log.solo=INFO
log4j.logger.org.b3log.latke=ERROR log4j.logger.org.b3log.latke=ERROR
log4j.logger.org.b3log.latke.util.freemarker.Templates=ERROR log4j.logger.org.b3log.latke.util.freemarker.Templates=ERROR
log4j.logger.org.eclipse.jetty=WARN
log4j.logger.freemarker=WARN
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment