@@ -2,13 +2,14 @@ const { Werelogs } = require('werelogs');
22const { config } = require ( '../Config' ) ;
33const fs = require ( 'fs' ) ;
44const path = require ( 'path' ) ;
5+ const logger = require ( './utilities/logger' ) ;
56
67const DEFAULT_OUTPUT_FILE = './logs/api-operations.log' ;
78const SERVER_ACCESS_LOG_FORMAT_VERSION = '0' ;
89
910function createServerAccessLogger ( ) {
1011 if ( ! config . serverAccessLogs || ! config . serverAccessLogs . enabled ) {
11- console . warn ( " ServerAccessLogs disabled returning no-op logger" ) ;
12+ logger . warn ( ' ServerAccessLogs disabled returning no-op logger' ) ;
1213 return {
1314 info : ( ) => { } ,
1415 debug : ( ) => { } ,
@@ -28,10 +29,10 @@ function createServerAccessLogger() {
2829 fs . mkdirSync ( logDir , { recursive : true } ) ;
2930 }
3031 } catch ( error ) {
31- // Fall back to console -only logging if directory creation fails
32- console . warn ( 'Failed to create ServerAccess log directory, falling back to console logging:' , error . message ) ;
32+ // Fall back to logger -only logging if directory creation fails
33+ logger . warn ( 'Failed to create ServerAccess log directory, falling back to console logging:' , error . message ) ;
3334
34- let apiWerelogs = new Werelogs ( {
35+ const apiWerelogs = new Werelogs ( {
3536 level : config . serverAccessLogs . logLevel || 'info' ,
3637 dump : config . serverAccessLogs . dumpLevel || 'error' ,
3738 streams : [
@@ -47,16 +48,16 @@ function createServerAccessLogger() {
4748
4849 // Handle stream errors
4950 serverAccessLogStream . on ( 'error' , error => {
50- console . error ( 'ServerAccessLogger log file stream error:' , error ) ;
51+ logger . error ( 'ServerAccessLogger log file stream error:' , error ) ;
5152 } ) ;
5253
5354 // Create the API-specific Werelogs instance - file output only
54- apiWerelogs = new Werelogs ( {
55+ const apiWerelogs = new Werelogs ( {
5556 level : config . serverAccessLogs . logLevel || 'info' ,
5657 dump : config . serverAccessLogs . dumpLevel || 'error' ,
5758 streams : [ { level : 'trace' , stream : serverAccessLogStream } ]
5859 } ) ;
59- console . info ( " ServerAccessLogger created successfully" ) ;
60+ logger . info ( ' ServerAccessLogger created successfully' ) ;
6061 return new apiWerelogs . Logger ( 'ServerAccessLogger' ) ;
6162}
6263
@@ -73,14 +74,14 @@ var serverAccessLogger = {
7374try {
7475 serverAccessLogger = createServerAccessLogger ( ) ;
7576} catch ( error ) {
76- console . error ( 'Failed to create ServiceAccessLogger, using no-op logger:' , error ) ;
77+ logger . error ( 'Failed to create ServiceAccessLogger, using no-op logger:' , error ) ;
7778}
7879
7980function getRemoteIPFromRequest ( request ) {
8081 let remoteIP = null ;
8182 if ( request . headers ) {
8283 // Check for forwarded IP headers (proxy/load balancer scenarios)
83- headerRemoteIP = request . headers [ 'x-forwarded-for' ] ||
84+ const headerRemoteIP = request . headers [ 'x-forwarded-for' ] ||
8485 request . headers [ 'x-real-ip' ] ||
8586 request . headers [ 'x-client-ip' ] ||
8687 request . headers [ 'cf-connecting-ip' ] ; // Cloudflare
@@ -93,7 +94,7 @@ function getRemoteIPFromRequest(request) {
9394
9495 // Fallback to connection remote address if no forwarded headers
9596 if ( ! remoteIP ) {
96- connIP = ( request . connection && request . connection . remoteAddress ) ||
97+ const connIP = ( request . connection && request . connection . remoteAddress ) ||
9798 ( request . socket && request . socket . remoteAddress ) ||
9899 ( request . ip ) ;
99100 if ( connIP ) {
@@ -175,11 +176,11 @@ function getOperation(req) {
175176 // 'websiteHead': '',
176177 } ) ;
177178
178- return `REST.${ req . method } .${ methodToResType [ req . apiMethod ] ? methodToResType [ req . apiMethod ] : 'UNKNOWN' } `
179+ return `REST.${ req . method } .${ methodToResType [ req . apiMethod ] ? methodToResType [ req . apiMethod ] : 'UNKNOWN' } ` ;
179180}
180181
181182function getRequester ( authInfo ) {
182- let requester = null ;
183+ const requester = null ;
183184 if ( authInfo ) {
184185 if ( authInfo . isRequesterPublicUser && authInfo . isRequesterPublicUser ( ) ) {
185186 return requester ; // Unauthenticated requests
@@ -220,12 +221,12 @@ function getObjectSize(request, response) {
220221 // If it is a PUT get the Content-Length from the request, if it is a GET get it from the response.
221222 if ( request && response && objectSizeGetMethods [ request . apiMethod ] ) {
222223 const len = response . getHeader ( 'Content-Length' ) ;
223- return len ? len : null ;
224+ return len || null ;
224225 }
225226
226227 if ( request && objectSizePutMethods [ request . apiMethod ] ) {
227228 const len = request . getHeader ( 'Content-Length' ) ;
228- return len ? len : null ;
229+ return len || null ;
229230 }
230231
231232 return null ;
@@ -237,15 +238,15 @@ function getBytesSent(res) {
237238 }
238239
239240 const len = res . getHeader ( 'Content-Length' ) ;
240- return len ? len : null ;
241+ return len || null ;
241242}
242243
243244function calculateTotalTime ( startTime , endTime ) {
244245 if ( ! startTime || ! endTime ) {
245246 return null ;
246247 }
247248
248- return ( ( endTime - startTime ) / 1_000_000n ) . toString ( )
249+ return ( ( endTime - startTime ) / 1_000_000n ) . toString ( ) ;
249250}
250251
251252function calculateTurnAroundTime ( startTurnAroundTime , endTurnAroundTime ) {
@@ -257,9 +258,9 @@ function calculateTurnAroundTime(startTurnAroundTime, endTurnAroundTime) {
257258}
258259
259260function logServerAccess ( params , req , res ) {
260- params . errorCode = res . serverAccessLog . errorCode ;
261- params . endTurnAroundTime = res . serverAccessLog . endTurnAroundTime ;
262- params . requestID = res . serverAccessLog . requestID ;
261+ const errorCode = res . serverAccessLog . errorCode ;
262+ const endTurnAroundTime = res . serverAccessLog . endTurnAroundTime ;
263+ const requestID = res . serverAccessLog . requestID ;
263264 const authInfo = params . authInfo ;
264265
265266 serverAccessLogger . info ( 'SERVER_ACCESS_LOG' , {
@@ -269,15 +270,16 @@ function logServerAccess(params, req, res) {
269270 startTime : params . startTime ? params . startTime . toString ( ) : null ,
270271 remoteIP : getRemoteIPFromRequest ( req ) ,
271272 requester : getRequester ( authInfo ) ,
272- req_id : params . requestID ? params . requestID : null , // requestID in AWS
273+ // eslint-disable-next-line camelcase
274+ req_id : requestID || null , // requestID in AWS
273275 operation : getOperation ( req ) ,
274276 requestURI : getURI ( req ) ,
275277 HTTPStatus : res . statusCode ? res . statusCode : null ,
276- errorCode : params . errorCode ? params . errorCode : null ,
278+ errorCode : errorCode || null ,
277279 bytesSent : getBytesSent ( res ) ,
278280 objectSize : getObjectSize ( req , res ) ,
279281 totalTime : calculateTotalTime ( params . startTime , params . endTime ) ,
280- turnAroundTime : calculateTurnAroundTime ( params . startTurnAroundTime , params . endTurnAroundTime ) ,
282+ turnAroundTime : calculateTurnAroundTime ( params . startTurnAroundTime , endTurnAroundTime ) ,
281283 referer : req . headers . referer ? req . headers . referer : null ,
282284 userAgent : req . headers [ 'user-agent' ] ? req . headers [ 'user-agent' ] : null ,
283285 versionID : req . query . versionId ? req . query . versionId : null , // query inserted by arsenal.
@@ -297,8 +299,9 @@ function logServerAccess(params, req, res) {
297299 loggingTargetBucket : params . loggingEnabled ? params . loggingEnabled . TargetBucket : null ,
298300 loggingTargetPrefix : params . loggingEnabled ? params . loggingEnabled . TargetPrefix : null ,
299301 raftSessionID : null ,
302+ // eslint-disable-next-line camelcase
300303 aws_access_key_id : authInfo ? authInfo . getAccessKey ( ) : null ,
301- } )
304+ } ) ;
302305}
303306
304307module . exports = {
0 commit comments