Как мне создать функцию F # с аргументом ведения журнала в стиле printf?

Я пытаюсь создать фреймворк для обработки файлов и данных. Единственная область, с которой я борюсь, - это то, как предоставить фреймворку функцию ведения журнала, позволяющую фреймворку сообщать о сообщениях, не зная об используемых журналах.

let testLogger (source:seq<'a>) logger =
    logger "Testing..."
    let length = source |> Seq.length
    logger "Got a length of %d" length


let logger format = Printf.kprintf (printfn "%A: %s" System.DateTime.Now) format
testLogger [1; 2; 3] logger

В идеале я хочу, чтобы этот код работал, но я могу » • решить, как передать функцию регистратора.

9
задан Tomas Petricek 6 April 2011 в 16:45
поделиться