簡體   English   中英

從Symfony2中的實體和存儲庫登錄的正確方法

[英]Correct way to log from Entities and Repositories in Symfony2

在symfony2體系結構中,從Entity或Repository類記錄消息或錯誤的方法是什么? 在symfony1中,您可以使用單例來殺死幼犬,方法是從任何地方獲取記錄器:

sfContext::getInstance()->getLogger()

Symfony2的容器模型更嚴格,這很不錯,但是如何從非容器感知類進行日志記錄呢? 對於回購協議,我想您可以將它們(全部)定義為服務,並依賴於記錄器,然后從那里開始。 但是,當您只有一個Entity類的實例時該怎么辦?

從歷史上看,我想將日志消息放在類方法中,但是現在呢? 我是否應該將記錄器(作為參數)傳遞給每個要編寫日志消息的類方法? 這似乎有些矯kill過正,但這也許是最佳做法?

還是我看錯了,實體或回購協議不應該編寫日志消息,而是將它們傳遞回控制器進行處理?

您可能應該避免將業務邏輯(甚至記錄)放入實體模型中。

至於存儲庫,您描述的方式是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM