Commit b73917dc authored by Liang Ding's avatar Liang Ding

📈 #12293 Finer logging

parent 3875cd47
......@@ -8,6 +8,7 @@ import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger;
import org.b3log.latke.model.User;
import org.b3log.latke.service.annotation.Service;
import org.b3log.latke.util.Strings;
import org.b3log.solo.SoloServletListener;
import org.b3log.solo.model.Article;
import org.json.JSONObject;
......@@ -30,7 +31,7 @@ public class ImportService {
/**
* Logger.
*/
private static final Logger LOGGER = Logger.getLogger(UpgradeService.class);
private static final Logger LOGGER = Logger.getLogger(ImportService.class);
/**
* Default tag.
......@@ -50,6 +51,7 @@ public class ImportService {
private UserQueryService userQueryService;
public void importMarkdowns() {
new Thread(() -> {
final ServletContext servletContext = SoloServletListener.getServletContext();
final String markdownsPath = servletContext.getRealPath("markdowns");
LOGGER.debug("Import directory [" + markdownsPath + "]");
......@@ -67,6 +69,8 @@ public class ImportService {
final String adminEmail = admin.optString(User.USER_EMAIL);
int succCnt = 0, failCnt = 0;
final Set<String> failSet = new TreeSet<>();
final Collection<File> mds = FileUtils.listFiles(new File(markdownsPath), new String[]{"md"}, true);
for (final File md : mds) {
final String fileName = md.getName();
......@@ -85,10 +89,28 @@ public class ImportService {
final String id = articleMgmtService.addArticle(request);
FileUtils.moveFile(md, new File(md.getPath() + "." + id));
LOGGER.info("Imported article [" + article.optString(Article.ARTICLE_TITLE) + "]");
succCnt++;
} catch (final Exception e) {
LOGGER.log(Level.ERROR, "Import file [" + fileName + "] failed", e);
failCnt++;
failSet.add(fileName);
}
}
final StringBuilder logBuilder = new StringBuilder();
logBuilder.append("[").append(succCnt).append("] imported, [").append(failCnt).append("] failed");
if (failCnt > 0) {
logBuilder.append(": ").append(Strings.LINE_SEPARATOR);
for (final String fail : failSet) {
logBuilder.append(" ").append(fail).append(Strings.LINE_SEPARATOR);
}
} else {
logBuilder.append(" :p");
}
LOGGER.info(logBuilder.toString());
}).start();
}
private JSONObject parseArticle(final String fileName, final String fileContent) {
......
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