using Cobasoft;
public class Program {
static void Main( string[] args ) {
Log.VerboseV( Log.CM(), "Hello Word" );
ExceptionSample();
TimingSample1();
TimingSample2();
AssertionSample1();
AssertionSample2();
AssertionSample3();
ScopeSample1();
ScopeSample2();
CallerInfoSample();
}
private static void ExceptionSample() {
try {
throw new Exception( "TEST" );
} catch ( Exception ex ) {
Log.Exception( ex );
}
}
private static void TimingSample1() {
using ( new LogTime( false ) ) ;
Thread.Sleep( 100 );
}
private static void TimingSample2() {
using ( var lt = new LogTime( false ) ) {
Thread.Sleep( 200 );
lt.Show( "intermediate measurement" );
Thread.Sleep( 200 );
}
}
private static void AssertionSample1() {
Log.Assert( false );
}
private static void AssertionSample2() {
var a = 123;
if ( Log.Assert( 123 == a ) ) {
Log.InfoV( Log.CM(), "Good case", a );
}
}
private static void AssertionSample3() {
var b = 345;
if ( Log.DenyV( 345 == b ) ) {
Log.ErrorV( Log.CM(), "BAD case", b );
}
}
private static void ScopeSample1() {
var oldScope = Log.Scope;
try {
var newScope = Log.GetScope( "XEWI" );
Log.Scope = newScope;
Log.Data( "Data: not shown with this scope" );
Log.Verbose( "Verbose: not shown with this scope" );
Log.Error( "Error: shown with this scope" );
} finally {
Log.Scope = oldScope;
}
Log.Verbose( "Verbose: shown again" );
}
private static void ScopeSample2() {
var oldScope = Log.CallerScope;
try {
var newScope = Log.GetScope( "XEWI" );
Log.CallerScope = newScope;
Log.Data( "Data: not caller info shown with this scope" );
Log.Error( "Error: caller info shown with this scope" );
} finally {
Log.CallerScope = oldScope;
}
Log.Verbose( "Verbose: shown again" );
}
private static void CallerInfoSample() {
Log.Verbose( "BAD case" );
var value = 12345;
Log.Verbose( Log.Format( "BAD case", "name", value ) );
Log.VerboseV( "BAD case", "name", value );
Log.VerboseV( Log.CM(), "name", value,
"CCM", Log.CCM( new object() ),
"CallerFile", Log.CallerFile(),
"CallerLine", Log.CallerLine() );
}
}
"Cobasoft": {
"Log": {
"Scope": "XEWIMVFGDSTO",
"CallerScope": "XEWIMVFGDSTO",
"Flush": 0,
"File": 1,
"Trace": 1,
"Listener": 0,
"Console": 1,
"Break": 0,
"Halt": 1,
"FileSize": 1000000,
"FileAge": 480,
"Path": "C:\\log\\cstst",
}
}
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="LogScope" value="XEWIMVFGDSTO"/>
<add key="LogCallerScope" value="XEWIMVFGDSTO"/>
<add key="LogFlush" value="0"/>
<add key="LogFile" value="1"/>
<add key="LogTrace" value="1"/>
<add key="LogListener" value="0"/>
<add key="LogConsole" value="1"/>
<add key="LogBreak" value="0"/>
<add key="LogHalt" value="1"/>
<add key="LogFileSize" value="1000000"/>
<add key="LogFileAge" value="480"/>
<add key="LogPath" value="C:\\log\\cstst"/>
</appSettings>
</configuration>