Librclone sync/copy logger flags not working

Hello,

I'm trying to mimic the following rclone command using librclone:

rclone copy src dst -v --combined - --dry-run

I'm using librclone version 1.75.0.

I can set the regular copy flags by putting them into the _config JSON field. However, the logger-related flags — --combined, --differ, --match, and --error — do not seem to work when configured this way.

According to the rclone copy documentation, I expect these logger flags to write their respective output to a file. However, none of them seem to have any effect when I set them through _config.

I've also tried using "-" as the value, as in the original rclone command, to write the output to stdout instead of a file, but that didn't work either.

For example:

type cmdSyncCopyPayload struct {
    SrcFs  string         `json:"srcFs"`
    DstFs  string         `json:"dstFs"`
    Config map[string]any `json:"_config,omitempty"`
}

type cmdSyncCopyResult struct{}

func RPCSyncCopy(srcFs string, dstFs string) error {
    _, err := rpcCall[cmdSyncCopyResult](cmdSyncCopy, &cmdSyncCopyPayload{
        SrcFs: srcFs,
        DstFs: dstFs,
        Config: map[string]any{
            "DryRun":       true,
            "Combined":     "combined.txt",         // Does not work
            "Differ":       "differ.txt",           // Does not work
            "Match":        "match.txt",   // Does not work
            "Error":        "error.txt", // Does not work
        },
    })

    return err
}

Am I doing something wrong, or are these logger flags handled differently when using librclone?

those arent config flags. Combined / Differ / Match / Error live on the logger opts, not in the Config struct, so stuffing them into _config does nothing.

put them on the RPC payload itself (same level as srcFs / dstFs), not inside _config:

{
  "srcFs": "...",
  "dstFs": "...",
  "_config": { "DryRun": true },
  "combined": "combined.txt",
  "differ": "differ.txt",
  "match": "match.txt",
  "error": "error.txt"
}

DryRun stays in _config. logger paths stay outside.

if that still noops on 1.75.0 then librclone just isnt wiring LoggerOpt through yet for operations/copy. then you shell out for the report:

rclone copy src dst -v --combined combined.txt --differ differ.txt --dry-run

or bump rclone / librclone and recheck. - for stdout usually only works on the CLI, not through the JSON RPC.