11import Foundation
2+ import Logging
23import SwiftCLI
34import WAKit
4- import Willow
5+
6+ private let logger = Logger ( label: " com.WAKit.CLI " )
57
68final class RunCommand : Command {
79 let name = " run "
@@ -11,33 +13,33 @@ final class RunCommand: Command {
1113 let functionName = Parameter ( )
1214 let arguments = OptionalCollectedParameter ( )
1315
14- lazy var logger : Logger = {
15- Logger (
16- logLevels: isVerbose. value ? [ . error, . warn, . event, . info] : [ . error, . warn] ,
17- writers: [ ConsoleWriter ( ) ]
18- )
19- } ( )
20-
2116 func execute( ) throws {
2217 let isVerbose = self . isVerbose. value
18+
19+ LoggingSystem . bootstrap {
20+ var handler = StreamLogHandler . standardOutput ( label: $0)
21+ handler. logLevel = isVerbose ? . info : . warning
22+ return handler
23+ }
24+
2325 let path = self . path. value
2426 let functionName = self . functionName. value
2527
2628 guard let fileHandle = FileHandle ( forReadingAtPath: path) else {
27- logger. errorMessage ( " File \" \( path) \" could not be opened " )
29+ logger. error ( " File \" \( path) \" could not be opened " )
2830 return
2931 }
3032 defer { fileHandle. closeFile ( ) }
3133
3234 let stream = FileHandleStream ( fileHandle: fileHandle)
3335
34- logger. eventMessage ( " Started to parse module " )
36+ logger. info ( " Started to parse module " )
3537
3638 let ( module, parseTime) = try measure ( if: isVerbose) {
3739 try WASMParser . parse ( stream: stream)
3840 }
3941
40- logger. eventMessage ( " Ended to parse module: \( parseTime) " )
42+ logger. info ( " Ended to parse module: \( parseTime) " )
4143
4244 let runtime = Runtime ( )
4345 let moduleInstance = try runtime. instantiate ( module: module, externalValues: [ ] )
@@ -57,13 +59,13 @@ final class RunCommand: Command {
5759 parameters. append ( parameter)
5860 }
5961
60- logger. eventMessage ( " Started invoking function \" \( functionName) \" with parameters: \( parameters) " )
62+ logger. info ( " Started invoking function \" \( functionName) \" with parameters: \( parameters) " )
6163
6264 let ( results, invokeTime) = try measure ( if: isVerbose) {
6365 try runtime. invoke ( moduleInstance, function: functionName, with: parameters)
6466 }
6567
66- logger. infoMessage ( " Ended invoking function \" \( functionName) \" : \( invokeTime) " )
68+ logger. info ( " Ended invoking function \" \( functionName) \" : \( invokeTime) " )
6769
6870 stdout <<< results. description
6971 }
0 commit comments