88import com .qiniu .android .storage .UpToken ;
99import com .qiniu .android .utils .AsyncRun ;
1010import com .qiniu .android .utils .LogUtil ;
11+ import com .qiniu .android .utils .StringUtils ;
1112
1213import org .json .JSONObject ;
1314
@@ -35,86 +36,88 @@ public class UploadInfoReporter {
3536
3637 private static UploadInfoReporter instance = new UploadInfoReporter ();
3738
38- private UploadInfoReporter (){}
39+ private UploadInfoReporter () {
40+ }
3941
40- public static UploadInfoReporter getInstance (){
42+ public static UploadInfoReporter getInstance () {
4143 return instance ;
4244 }
4345
44- public synchronized void report (ReportItem reportItem ,
45- final String tokenString ){
46- if (reportItem == null ){
46+ public synchronized void report (final ReportItem reportItem ,
47+ final String tokenString ) {
48+ if (reportItem == null ) {
4749 return ;
4850 }
4951
5052 final String jsonString = reportItem .toJson ();
51- if (!checkReportAvailable () || jsonString == null ){
53+ if (!checkReportAvailable () || jsonString == null ) {
5254 return ;
5355 }
5456
5557 AsyncRun .runInBack (new Runnable () {
5658 @ Override
5759 public void run () {
58- synchronized (this ){
60+ LogUtil .i ("up log:" + StringUtils .toNonnullString (jsonString ));
61+ synchronized (this ) {
5962 saveReportJsonString (jsonString );
6063 reportToServerIfNeeded (tokenString );
6164 }
6265 }
6366 });
6467 }
6568
66- public void clean (){
69+ public void clean () {
6770 cleanRecorderFile ();
6871 cleanTempLogFile ();
6972 }
7073
71- private void cleanRecorderFile (){
72- if (recorderFile .exists ()){
74+ private void cleanRecorderFile () {
75+ if (recorderFile .exists ()) {
7376 recorderFile .delete ();
7477 }
7578 }
7679
77- private void cleanTempLogFile (){
78- if (recorderTempFile .exists ()){
80+ private void cleanTempLogFile () {
81+ if (recorderTempFile .exists ()) {
7982 recorderTempFile .delete ();
8083 }
8184 }
8285
83- private boolean checkReportAvailable (){
84- if (!config .isReportEnable ){
86+ private boolean checkReportAvailable () {
87+ if (!config .isReportEnable ) {
8588 return false ;
8689 }
87- if (config .maxRecordFileSize <= config .uploadThreshold ){
90+ if (config .maxRecordFileSize <= config .uploadThreshold ) {
8891 LogUtil .e ("maxRecordFileSize must be larger than uploadThreshold" );
8992 return false ;
9093 }
9194 return true ;
9295 }
9396
94- private void saveReportJsonString (final String jsonString ){
97+ private void saveReportJsonString (final String jsonString ) {
9598
96- if (!recordDirectory .exists () && !recordDirectory .mkdirs ()){
99+ if (!recordDirectory .exists () && !recordDirectory .mkdirs ()) {
97100 return ;
98101 }
99102
100- if (!recordDirectory .isDirectory ()){
103+ if (!recordDirectory .isDirectory ()) {
101104 LogUtil .e ("recordDirectory is not a directory" );
102105 return ;
103106 }
104107
105- if (!recorderFile .exists ()){
108+ if (!recorderFile .exists ()) {
106109 try {
107110 boolean isSuccess = recorderFile .createNewFile ();
108- if (!isSuccess ){
111+ if (!isSuccess ) {
109112 return ;
110113 }
111114 } catch (IOException e ) {
112115 e .printStackTrace ();
113116 return ;
114117 }
115118 }
116-
117- if (recorderFile .length () > config .maxRecordFileSize ){
119+
120+ if (recorderFile .length () > config .maxRecordFileSize ) {
118121 return ;
119122 }
120123
@@ -129,54 +132,55 @@ private void saveReportJsonString(final String jsonString){
129132 if (fos != null ) {
130133 try {
131134 fos .close ();
132- } catch (IOException ignored ) {}
135+ } catch (IOException ignored ) {
136+ }
133137 }
134138 }
135139 }
136140
137- private void reportToServerIfNeeded (String tokenString ){
138- if (isReporting ){
141+ private void reportToServerIfNeeded (String tokenString ) {
142+ if (isReporting ) {
139143 return ;
140144 }
141145 boolean needToReport = false ;
142146 long currentTime = new Date ().getTime ();
143147
144- if (recorderTempFile .exists ()){
148+ if (recorderTempFile .exists ()) {
145149 needToReport = true ;
146150 } else if ((recorderFile .length () > config .uploadThreshold )
147- || (lastReportTime == 0 || (currentTime - lastReportTime ) > config .interval * 60 )){
151+ || (lastReportTime == 0 || (currentTime - lastReportTime ) > config .interval * 60 )) {
148152 boolean isSuccess = recorderFile .renameTo (recorderTempFile );
149153 if (isSuccess ) {
150154 needToReport = true ;
151155 }
152156 }
153- if (needToReport && !this .isReporting ){
157+ if (needToReport && !this .isReporting ) {
154158 reportToServer (tokenString );
155159 }
156160 }
157161
158- private void reportToServer (String tokenString ){
162+ private void reportToServer (String tokenString ) {
159163
160164 isReporting = true ;
161165
162166 RequestTransaction transaction = createUploadRequestTransaction (tokenString );
163- if (transaction == null ){
167+ if (transaction == null ) {
164168 return ;
165169 }
166170
167171 byte [] logData = getLogData ();
168- if (logData == null || logData .length == 0 ){
172+ if (logData == null || logData .length == 0 ) {
169173 return ;
170174 }
171175
172176 transaction .reportLog (logData , X_Log_Client_Id , true , new RequestTransaction .RequestCompleteHandler () {
173177 @ Override
174178 public void complete (ResponseInfo responseInfo , UploadRegionRequestMetrics requestMetrics , JSONObject response ) {
175- if (responseInfo .isOK ()){
179+ if (responseInfo .isOK ()) {
176180 lastReportTime = new Date ().getTime ();
177181 if (X_Log_Client_Id == null
178182 && responseInfo .responseHeader != null
179- && responseInfo .responseHeader .get ("x-log-client-id" ) != null ){
183+ && responseInfo .responseHeader .get ("x-log-client-id" ) != null ) {
180184 X_Log_Client_Id = responseInfo .responseHeader .get ("x-log-client-id" );
181185 }
182186 cleanTempLogFile ();
@@ -189,43 +193,44 @@ public void complete(ResponseInfo responseInfo, UploadRegionRequestMetrics reque
189193
190194 }
191195
192- private byte [] getLogData (){
193- if (recorderTempFile == null || recorderTempFile .length () == 0 ){
196+ private byte [] getLogData () {
197+ if (recorderTempFile == null || recorderTempFile .length () == 0 ) {
194198 return null ;
195199 }
196200
197- int fileSize = (int )recorderTempFile .length ();
201+ int fileSize = (int ) recorderTempFile .length ();
198202 RandomAccessFile randomAccessFile = null ;
199203 byte [] data = null ;
200204 try {
201205 randomAccessFile = new RandomAccessFile (recorderTempFile , "r" );
202206 ByteArrayOutputStream out = new ByteArrayOutputStream (fileSize );
203207 int len = 0 ;
204208 byte [] buff = new byte [fileSize ];
205- while ((len = randomAccessFile .read (buff )) >= 0 ){
209+ while ((len = randomAccessFile .read (buff )) >= 0 ) {
206210 out .write (buff , 0 , len );
207211 }
208212 data = out .toByteArray ();
209213 } catch (FileNotFoundException ignored ) {
210214 } catch (IOException e ) {
211215 data = null ;
212216 } finally {
213- if (randomAccessFile != null ){
217+ if (randomAccessFile != null ) {
214218 try {
215219 randomAccessFile .close ();
216- } catch (IOException e ){}
220+ } catch (IOException e ) {
221+ }
217222 }
218223 }
219224
220225 return data ;
221226 }
222227
223- private RequestTransaction createUploadRequestTransaction (String tokenString ){
224- if (config == null ){
228+ private RequestTransaction createUploadRequestTransaction (String tokenString ) {
229+ if (config == null ) {
225230 return null ;
226231 }
227232 UpToken token = UpToken .parse (tokenString );
228- if (token == null ){
233+ if (token == null ) {
229234 return null ;
230235 }
231236 ArrayList <String > hosts = new ArrayList <>();
@@ -235,7 +240,7 @@ private RequestTransaction createUploadRequestTransaction(String tokenString){
235240 return transaction ;
236241 }
237242
238- private void destroyTransactionResource (){
243+ private void destroyTransactionResource () {
239244 transaction = null ;
240245 }
241246}
0 commit comments