diff --git a/.gitignore b/.gitignore index ab4d0ee..fb43be8 100644 --- a/.gitignore +++ b/.gitignore @@ -48,4 +48,5 @@ tags target *.iml gradle -logs \ No newline at end of file +logs +build \ No newline at end of file diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..fc4a061 --- /dev/null +++ b/build.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +rm -rf ./build + +if [ ! -d "./build" ] +then + mkdir build +fi + +mvn clean +mvn install -Dmaven.test.skip=true + +cp -r ./target/github_zeekling-1.0.jar ./build/ +cp -r ./start.sh ./build/ +cp -r ./src/main/resources/blog.properties ./build/ +cp -r ./src/main/resources/log4j.properties ./build/ +cp -r ./target/lib ./build/ + diff --git a/pom.xml b/pom.xml index 42a1f83..60c61e5 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.zeekling github_zeekling - 1.0-SNAPSHOT + 1.0 @@ -49,7 +49,13 @@ rome 1.6.0 - + + sunjce_provider + sunjce_provider + 1.0 + system + ${project.basedir}/src/lib/sunjce_provider.jar + @@ -64,6 +70,38 @@ 1.8 + + org.apache.maven.plugins + maven-jar-plugin + 2.6 + + + + + true + lib/ + com.zeekling.Main + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.10 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/lib + + + + diff --git a/src/main/java/com/zeekling/Main.java b/src/main/java/com/zeekling/Main.java index 6936392..a847ced 100644 --- a/src/main/java/com/zeekling/Main.java +++ b/src/main/java/com/zeekling/Main.java @@ -2,6 +2,8 @@ package com.zeekling; import com.zeekling.blog.BlogUpdateService; import com.zeekling.blog.BlogUpdateServiceImpl; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; /** * @author zeekling [lingzhaohui@zeekling.cn] @@ -11,10 +13,17 @@ import com.zeekling.blog.BlogUpdateServiceImpl; */ public class Main { + private static final Logger LOGGER = LogManager.getLogger(Main.class); + public static void main(String[] args) { - BlogUpdateService updateService = new BlogUpdateServiceImpl("/home/zeek/project/github_zeekling/src/main/resources/blog.properties"); + String configPath = System.getProperty("configPath"); + BlogUpdateService updateService = new BlogUpdateServiceImpl(configPath); int res = updateService.update(); - System.out.println(res); + if (res == 0){ + LOGGER.info("update github success!"); + return; + } + LOGGER.error("update github failed!"); } } diff --git a/src/main/java/com/zeekling/util/GitHubs.java b/src/main/java/com/zeekling/util/GitHubs.java index e0fc887..8e06c1c 100644 --- a/src/main/java/com/zeekling/util/GitHubs.java +++ b/src/main/java/com/zeekling/util/GitHubs.java @@ -50,6 +50,7 @@ public final class GitHubs { final HttpResponse res = HttpRequest.get("https://hacpai.com/github/repos?id=" + githubUserId).trustAllCerts(true). connectionTimeout(3000).timeout(7000).header("User-Agent", GitHubConstants.USER_AGENT).send(); if (200 != res.statusCode()) { + LOGGER.error("error code:" + res.statusCode()); return null; } res.charset("UTF-8"); @@ -176,12 +177,13 @@ public final class GitHubs { final HttpResponse response = HttpRequest.get("https://api.github.com/user").header("Authorization", "token " + pat). connectionTimeout(7000).timeout(30000).header("User-Agent", GitHubConstants.USER_AGENT).send(); if (200 != response.statusCode()) { + LOGGER.error("error code:" + response.statusCode()); return null; } response.charset("UTF-8"); return new JSONObject(response.bodyText()); } catch (final Exception e) { - LOGGER.log(Level.ERROR, "Gets GitHub user info failed: " + e.getMessage()); + LOGGER.log(Level.ERROR, "Gets GitHub user info failed: " + e); return null; } } diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties index 8306a46..de39709 100644 --- a/src/main/resources/log4j.properties +++ b/src/main/resources/log4j.properties @@ -1,24 +1,31 @@ -### 设置### -log4j.rootLogger = debug,stdout,D,E +log4j.rootLogger=INFO,stdout,R, E -### 输出信息到控制抬 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out -log4j.appender.stdout.layout = org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n -### 输出DEBUG 级别以上的日志到=./logs/debug.log ### -log4j.appender.D = org.apache.log4j.DailyRollingFileAppender -log4j.appender.D.File = ./logs/debug.log -log4j.appender.D.Append = true -log4j.appender.D.Threshold = DEBUG -log4j.appender.D.layout = org.apache.log4j.PatternLayout -log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n +log4j.appender.file = org.apache.log4j.FileAppender +log4j.appender.file.File = ./logs/spider.log +log4j.appender.file.layout=org.apache.log4j.PatternLayout +log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n -### 输出ERROR 级别以上的日志到=./logs/error.log ### +### 输出到日志文件 ### +# 每天生成一个新的日志文件 +log4j.appender.R = org.apache.log4j.DailyRollingFileAppender +log4j.appender.R.File = ./logs/log.log +log4j.appender.R.Append = true +# DEBUG级别及以上的日志信息输出到./logs/log.log中 +log4j.appender.R.Threshold = DEBUG +log4j.appender.R.layout = org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] - %m%n + +### 保存异常信息到单独文件 ### +# 每天生成一个新的日志文件 log4j.appender.E = org.apache.log4j.DailyRollingFileAppender -log4j.appender.E.File =./logs/error.log +log4j.appender.E.File = ./logs/error.log log4j.appender.E.Append = true +# ERROR级别及以上的日志信息输出到./logs/log.log中 log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout -log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n \ No newline at end of file +log4j.appender.E.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] - %m%n \ No newline at end of file diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..a7f9c67 --- /dev/null +++ b/start.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +java -Djava.ext.dirs=./lib -DconfigPath=./blog.properties -cp github_zeekling-1.0.jar com.zeekling.Main +