diff options
author | Taka Cho <takamune.cho@att.com> | 2019-05-14 17:37:24 -0400 |
---|---|---|
committer | Patrick Brady <patrick.brady@att.com> | 2019-05-15 13:37:58 -0700 |
commit | 1b147c2600face751f5cfe1f106d56e9558a5eff (patch) | |
tree | 9a8396947545062ed660c7c4322ed7d14c75e73d /src/app/srvlogger.js | |
parent | 163d9fede8614e721a8b754a556ab0443f546430 (diff) |
add node.js api server for CDT
/api call need node.js api server
to fix when clicking the Synchronize
Definition Parameter.
Change-Id: I4a3fd1ba045ed41fb2fdfec3b8f0364cd6ec05f5
Issue-ID: APPC-1600
Signed-off-by: Taka Cho <takamune.cho@att.com>
Diffstat (limited to 'src/app/srvlogger.js')
-rwxr-xr-x | src/app/srvlogger.js | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/app/srvlogger.js b/src/app/srvlogger.js new file mode 100755 index 0000000..22c6d83 --- /dev/null +++ b/src/app/srvlogger.js @@ -0,0 +1,96 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +============LICENSE_END============================================ */ +//.. srvlogger.js -logging in file system +const fs = require('fs'); + +const clName= "srvlogger"; + +var MaxLogSize= 5000000; +var LogFileNm; +var fdL; + +exports.addLog = function( logStr, fileNm ) { + + this.LogFileNm= fileNm + this.fdL= fs.openSync( this.LogFileNm, 'a' ); + // console.log(clName+": log opened. fdL="+this.fdL); + + var lfStats= fs.fstatSync( this.fdL ); + if( lfStats.size + logStr.length >= MaxLogSize ) + { + this.changeLogFile(); + }; + + try { + fs.appendFileSync( this.fdL, logStr, 'utf8' ); + } + catch( err ) { + console.log(clName+": log append: error:"+err.message ); + throw err; + }; + fs.closeSync( this.fdL ); +} + +exports.changeLogFile = function() { + + var msgO= "\n=== The Log reached max size. Changing the file. ===\n"; + try { + fs.appendFileSync( this.fdL, msgO, 'utf8' ); + } + catch( err ) { + console.log(clName+": log append: error:"+err.message ); + throw err; + }; + fs.closeSync( this.fdL ); + + var LogFileNm_o= this.LogFileNm +".old"; + try { + fs.renameSync( this.LogFileNm, LogFileNm_o ); + } + catch( err ) { + throw err; + }; + + try { + this.fdL= fs.openSync( this.LogFileNm, 'a' ); + } + catch( err ) { + console.log(clName+": New Log file open: error:["+err.message+"]\n"); + throw err; + } + console.log( clName+": New Log file opened: fdL="+this.fdL+"\n"); + + var msgN= "\n=== New Log file ===\n"; + try { + fs.appendFileSync( this.fdL, msgN, 'utf8' ); + } + catch( err ) { + console.log( clName+": new log append: error:"+err.message ); + throw err; + }; +} + +exports.setMaxLogSize = function( newMaxLogSize ) { + if( newMaxLogSize > 0 ) + MaxLogSize= newMaxLogSize; + else + console.log(clName+": Wrong arg: newMaxLogSize <= 0 !"); +} |