Storableを使用してdclone()
、さまざまな複雑なオブジェクトのコピーを作成しています。これらのオブジェクトは、Log4perlロガーが接続された状態で自己ロギングします。Storableは、参照を含んでいるため、ロガーオブジェクトに遭遇すると文句を言いますCODE
。コード参照をシリアル化するオプションをオンにすると、不吉な警告が表示されます
Useless use of a constant (???) in void context at (eval 1668) line 16.
Useless use of a constant (???) in void context at (eval 1668) line 10.
クローン作成プロセス中に、クローン作成されたオブジェクトのロガーが機能しなくなります。
私が複製しているオブジェクトは他のオブジェクトで構成されており、ロガーはオブジェクト、そのコンポーネント、それらのサブコンポーネントなどにアタッチされている可能性があります。
理想的には、クローン作成プロセスでロガーオブジェクトを無視するようにします。
1)このタスクに(もっと)適しているPerlモジュールはありますか?理想的には、再帰コピーを制御して、ロガーではないオブジェクトまたはデータの一部のみがコピーされるようにしたいと思います。
2)...または、オブジェクトのセルフロギング機能(sob!)をオブジェクトから取り出して、オブジェクトに接続されていないロガーを作成する方がよいでしょうか?
アドバイスや洞察をいただければ幸いです。