Commit 52c033db authored by Liang Ding's avatar Liang Ding

格式化 & 文件日志配置

parent 99273811
...@@ -41,17 +41,16 @@ import org.json.JSONObject; ...@@ -41,17 +41,16 @@ import org.json.JSONObject;
* This listener is responsible for processing article comment reply. * This listener is responsible for processing article comment reply.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.1.1.7, Nov 20, 2015 * @author <a href="http://www.wanglay.com">Lei Wang</a>
* @version 1.2.1.7, May 6, 2016
* @since 0.3.1 * @since 0.3.1
*/ */
public final class ArticleCommentReplyNotifier extends public final class ArticleCommentReplyNotifier extends AbstractEventListener<JSONObject> {
AbstractEventListener<JSONObject> {
/** /**
* Logger. * Logger.
*/ */
private static final Logger LOGGER = Logger private static final Logger LOGGER = Logger.getLogger(ArticleCommentReplyNotifier.class.getName());
.getLogger(ArticleCommentReplyNotifier.class.getName());
/** /**
* Mail service. * Mail service.
...@@ -64,81 +63,62 @@ public final class ArticleCommentReplyNotifier extends ...@@ -64,81 +63,62 @@ public final class ArticleCommentReplyNotifier extends
final JSONObject comment = eventData.optJSONObject(Comment.COMMENT); final JSONObject comment = eventData.optJSONObject(Comment.COMMENT);
final JSONObject article = eventData.optJSONObject(Article.ARTICLE); final JSONObject article = eventData.optJSONObject(Article.ARTICLE);
LOGGER.log( LOGGER.log(Level.DEBUG,
Level.DEBUG,
"Processing an event[type={0}, data={1}] in listener[className={2}]", "Processing an event[type={0}, data={1}] in listener[className={2}]",
new Object[] { event.getType(), eventData, new Object[]{event.getType(), eventData, ArticleCommentReplyNotifier.class.getName()});
ArticleCommentReplyNotifier.class.getName() }); final String originalCommentId = comment.optString(Comment.COMMENT_ORIGINAL_COMMENT_ID);
final String originalCommentId = comment
.optString(Comment.COMMENT_ORIGINAL_COMMENT_ID);
if (Strings.isEmptyOrNull(originalCommentId)) { if (Strings.isEmptyOrNull(originalCommentId)) {
LOGGER.log(Level.DEBUG, "This comment[id={0}] is not a reply", LOGGER.log(Level.DEBUG, "This comment[id={0}] is not a reply", comment.optString(Keys.OBJECT_ID));
comment.optString(Keys.OBJECT_ID));
return; return;
} }
if (Latkes.getServePath().contains("localhost")) { if (Latkes.getServePath().contains("localhost")) {
LOGGER.log(Level.INFO, LOGGER.log(Level.INFO, "Solo runs on local server, so should not send mail");
"Solo runs on local server, so should not send mail");
return; return;
} }
final LatkeBeanManager beanManager = Lifecycle.getBeanManager(); final LatkeBeanManager beanManager = Lifecycle.getBeanManager();
final PreferenceQueryService preferenceQueryService = beanManager final PreferenceQueryService preferenceQueryService = beanManager.getReference(PreferenceQueryService.class);
.getReference(PreferenceQueryService.class);
final CommentRepository commentRepository = beanManager final CommentRepository commentRepository = beanManager.getReference(CommentRepositoryImpl.class);
.getReference(CommentRepositoryImpl.class);
try { try {
final String commentEmail = comment final String commentEmail = comment.getString(Comment.COMMENT_EMAIL);
.getString(Comment.COMMENT_EMAIL); final JSONObject originalComment = commentRepository.get(originalCommentId);
final JSONObject originalComment = commentRepository final String originalCommentEmail = originalComment.getString(Comment.COMMENT_EMAIL);
.get(originalCommentId);
final String originalCommentEmail = originalComment
.getString(Comment.COMMENT_EMAIL);
if (originalCommentEmail.equalsIgnoreCase(commentEmail)) { if (originalCommentEmail.equalsIgnoreCase(commentEmail)) {
return; return;
} }
final JSONObject preference = preferenceQueryService final JSONObject preference = preferenceQueryService.getPreference();
.getPreference();
if (null == preference) { if (null == preference) {
throw new EventException("Not found preference"); throw new EventException("Not found preference");
} }
final String blogTitle = preference final String blogTitle = preference.getString(Option.ID_C_BLOG_TITLE);
.getString(Option.ID_C_BLOG_TITLE); final String adminEmail = preference.getString(Option.ID_C_ADMIN_EMAIL);
final String adminEmail = preference
.getString(Option.ID_C_ADMIN_EMAIL);
final String commentContent = comment final String commentContent = comment.getString(Comment.COMMENT_CONTENT);
.getString(Comment.COMMENT_CONTENT); final String commentSharpURL = comment.getString(Comment.COMMENT_SHARP_URL);
final String commentSharpURL = comment
.getString(Comment.COMMENT_SHARP_URL);
final Message message = new Message(); final Message message = new Message();
message.setFrom(adminEmail); message.setFrom(adminEmail);
message.addRecipient(originalCommentEmail); message.addRecipient(originalCommentEmail);
final JSONObject replyNotificationTemplate = preferenceQueryService final JSONObject replyNotificationTemplate = preferenceQueryService.getReplyNotificationTemplate();
.getReplyNotificationTemplate();
final String articleTitle = article final String articleTitle = article.getString(Article.ARTICLE_TITLE);
.getString(Article.ARTICLE_TITLE); final String articleLink = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
final String articleLink = Latkes.getServePath()
+ article.getString(Article.ARTICLE_PERMALINK);
final String commentName = comment.getString(Comment.COMMENT_NAME); final String commentName = comment.getString(Comment.COMMENT_NAME);
final String commentURL = comment.getString(Comment.COMMENT_URL); final String commentURL = comment.getString(Comment.COMMENT_URL);
String commenter; String commenter;
if (!"http://".equals(commentURL)) { if (!"http://".equals(commentURL)) {
commenter = "<a target=\"_blank\" " + "href=\"" + commentURL commenter = "<a target=\"_blank\" " + "href=\"" + commentURL + "\">" + commentName + "</a>";
+ "\">" + commentName + "</a>";
} else { } else {
commenter = commentName; commenter = commentName;
} }
...@@ -163,10 +143,8 @@ public final class ArticleCommentReplyNotifier extends ...@@ -163,10 +143,8 @@ public final class ArticleCommentReplyNotifier extends
.replace("${replyContent}", commentContent); .replace("${replyContent}", commentContent);
message.setHtmlBody(mailBody); message.setHtmlBody(mailBody);
LOGGER.log( LOGGER.log(Level.DEBUG, "Sending a mail[mailSubject={0}, mailBody=[{1}] to [{2}]",
Level.DEBUG, new Object[]{mailSubject, mailBody, originalCommentEmail});
"Sending a mail[mailSubject={0}, mailBody=[{1}] to [{2}]",
new Object[] { mailSubject, mailBody, originalCommentEmail });
mailService.send(message); mailService.send(message);
} catch (final Exception e) { } catch (final Exception e) {
......
...@@ -16,33 +16,33 @@ ...@@ -16,33 +16,33 @@
# #
# Description: Solo logging configurations. # Description: Solo logging configurations.
# Version: 1.1.0.4, Nov 5, 2015 # Version: 1.1.0.4, May 6, 2016
# Author: Liang Ding # Author: <a href="http://88250.b3log.org">Liang Ding</a>
# Author: <a href="http://www.wanglay.com">Lei Wang</a>
# #
log4j.rootLogger=INFO,stdout,MYFILE log4j.rootLogger=INFO,stdout,file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number. log4j.appender.stdout.layout.ConversionPattern=[%-5p]-[%d{yyyy-MM-dd HH:mm:ss}]-[%c:%L]: %m%n
log4j.appender.stdout.layout.ConversionPattern=%d %5p (%c:%L) - %m%n
# Print only messages of level ERROR or above in the package noModule. # Print only messages of level ERROR or above in the package noModule.
log4j.logger.noModule=FATAL log4j.logger.noModule=FATAL
log4j.logger.org.b3log.solo=INFO,MYFILE log4j.logger.org.b3log.solo=INFO
log4j.logger.org.b3log.latke=INFO,MYFILE log4j.logger.org.b3log.latke=ERROR
log4j.logger.org.b3log.latke.util.freemarker.Templates=ERROR,MYFILE log4j.logger.org.b3log.latke.util.freemarker.Templates=ERROR
log4j.logger.org.eclipse.jetty=WARN,MYFILE log4j.logger.org.eclipse.jetty=WARN
log4j.logger.freemarker=WARN,MYFILE log4j.logger.freemarker=WARN
log4j.logger.com.mchange=WARN,MYFILE log4j.logger.com.mchange=WARN
# File Logger Conf
log4j.appender.MYFILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.file=org.apache.log4j.RollingFileAppender
#log4j.appender.MYFILE.File=/data/logs/myblog.log log4j.appender.file.File=./solo.log
log4j.appender.MYFILE.File=/logs/myblog.log log4j.appender.file.MaxFileSize=10MB
log4j.appender.MYFILE.DatePattern=.yyyy-MM-dd log4j.appender.file.MaxBackupIndex=5
log4j.appender.MYFILE.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.MYFILE.layout.ConversionPattern=[%d{HH\:mm\:ss}] %p %c - %m%n log4j.appender.file.layout.ConversionPattern=[%-5p]-[%d{yyyy-MM-dd HH:mm:ss}]-[%c:%L]: %m%n
\ No newline at end of file \ No newline at end of file
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