diff --git a/src/main/java/com/supwisdom/dlpay/app/controller/AppController.java b/src/main/java/com/supwisdom/dlpay/app/controller/AppController.java
index 1e2a092..dd4b55b 100644
--- a/src/main/java/com/supwisdom/dlpay/app/controller/AppController.java
+++ b/src/main/java/com/supwisdom/dlpay/app/controller/AppController.java
@@ -59,6 +59,13 @@
             needinfor = true;
         }
         int issuccess=0;
+        String appid = visitorConfig.getAppid();
+        String appsecret = visitorConfig.getSecret();
+        String redirect=visitorConfig.getRedirect();
+        logger.error("appid=" + appid);
+        logger.error("appsecret=" + appsecret);
+        logger.error("redirect=" + redirect);
+        logger.error("code=" + code);
         WechatResp resp = appService.doWechatAuth(appid, appsecret, code, needinfor);
         logger.error("wecharresp=" + resp);
 
diff --git a/src/main/java/com/supwisdom/dlpay/app/service/impl/AppServiceImpl.java b/src/main/java/com/supwisdom/dlpay/app/service/impl/AppServiceImpl.java
index 1043c19..bd3ca72 100644
--- a/src/main/java/com/supwisdom/dlpay/app/service/impl/AppServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/app/service/impl/AppServiceImpl.java
@@ -239,6 +239,7 @@
         ClientResponse respClient = r.accept(MediaType.APPLICATION_JSON).post(ClientResponse.class);
         if (HttpStatus.SC_OK == respClient.getStatus()) {
             String s = respClient.getEntity(String.class);
+            System.out.println(s);
             Gson gson = new Gson();
             WechatResp ret = gson.fromJson(s, WechatResp.class);
             if (ret != null) {
@@ -249,6 +250,7 @@
                     respClient = r.accept(MediaType.APPLICATION_JSON).post(ClientResponse.class);
                     if (HttpStatus.SC_OK == respClient.getStatus()) {
                         s = respClient.getEntity(String.class);
+                        System.out.println(s);
                         WechatResp infor = gson.fromJson(s, WechatResp.class);
                         EWechatAccount account = getAccountByOpenid(ret.getOpenid());
                         if (account == null) {
