@@ -8,6 +8,7 @@ import {Debugger} from "inspector";
88import VariableUtil from "../util/VariableUtil" ;
99import ProbeMemory from "../ProbeMemory" ;
1010import SourcePlusPlus from "../SourcePlusPlus" ;
11+ import LiveLog from "../model/instruments/LiveLog" ;
1112
1213const debugLog = ( ...args : any [ ] ) => SourcePlusPlus . debugLog ( args ) ;
1314
@@ -25,7 +26,7 @@ namespace ContextReceiver {
2526 for ( let scope in variables ) {
2627 for ( let variable of variables [ scope ] ) {
2728 if ( variable . name === varName ) {
28- return variable ;
29+ return variable . value ?. value ;
2930 }
3031 }
3132 }
@@ -113,18 +114,25 @@ namespace ContextReceiver {
113114 }
114115 }
115116
116- export function applyLog ( liveLogId : string , logFormat : string , logArguments : any ) {
117- debugLog ( `applyLog: ${ liveLogId } ${ logFormat } ${ logArguments } ` ) ;
117+ export function applyLog ( liveLog : LiveLog , variables ) {
118+ debugLog ( `applyLog: ${ liveLog . id } ${ liveLog . logFormat } ` ) ;
119+
120+ if ( liveLog . throttle . isRateLimited ( ) ) {
121+ return ;
122+ } else {
123+ //todo: eval condition
124+ }
125+
118126 let logTags = new LogTags ( ) ;
119- logTags . addData ( new KeyStringValuePair ( ) . setKey ( 'log_id' ) . setValue ( liveLogId ) ) ;
127+ logTags . addData ( new KeyStringValuePair ( ) . setKey ( 'log_id' ) . setValue ( liveLog . id ) ) ;
120128 logTags . addData ( new KeyStringValuePair ( ) . setKey ( 'level' ) . setValue ( 'Live' ) ) ;
121129 logTags . addData ( new KeyStringValuePair ( ) . setKey ( 'thread' ) . setValue ( 'n/a' ) ) ;
122130
123- if ( logArguments ) {
124- for ( const varName in logArguments ) {
131+ if ( liveLog . logArguments ) {
132+ for ( const varIndex in liveLog . logArguments ) {
125133 logTags . addData ( new KeyStringValuePair ( )
126- . setKey ( `argument.${ varName } ` )
127- . setValue ( logArguments [ varName ] ) ) ;
134+ . setKey ( `argument.${ varIndex } ` )
135+ . setValue ( tryFindVariable ( liveLog . logArguments [ varIndex ] , variables ) . toString ( ) || 'undefined' ) ) ;
128136 }
129137 }
130138
@@ -135,7 +143,7 @@ namespace ContextReceiver {
135143 . setServiceinstance ( "TODO" ) // TODO: Config
136144 . setBody ( new LogDataBody ( )
137145 . setType ( "text" )
138- . setText ( new TextLog ( ) . setText ( logFormat ) )
146+ . setText ( new TextLog ( ) . setText ( liveLog . logFormat ) )
139147 )
140148 . setTracecontext ( new TraceContext ( )
141149 . setTraceid ( swContext . segment . relatedTraces [ 0 ] . toString ( ) )
0 commit comments