docker-machine for AmazonEC2
前兩天在公司上了 Introduction Docker 的課程,回家就來試驗新的 docker-machine
花了一點時間,研究了怎樣連接到 AWS 去~
Entity Framework FakeDbSet
為了單元測試,需要作假資料,如果用資料庫來做,就需要考慮測試資料的建立以及 Transaction 的問題,因為建立測試資料後還得刪除。
所以可以使用 Mock 的方式,把 IDbSet 改成使用 InMemory
目前 Nuget.org 就有一個套件,可以幫忙你實作 InMemorySet 我目前是安裝 AnotherFakeDbSet,Source 在 Github-AnotherFakeDbSet
這個 Source 的原始版本是 FakeDbSet 不過我也覺得 AnotherFakeDbSet 改的不錯,而且因為陸續有推出新版本,所以我自己也是採用這個 Nuget Package
log4net Action Log 設定
我之前設定網站執行的 Action Log 的一個記錄,有些東西都是拼拼湊湊出來的,並不見得是最佳版本
log4net 設定檔
1 |
|
2 | <log4net> |
3 | <root> |
4 | <level value="DEBUG" /> |
5 | <appender-ref ref="stdout" /> |
6 | <appender-ref ref="ActionLogRollingFile" /> |
7 | </root> |
8 | <appender name="ActionLogRollingFile" type="log4net.Appender.RollingFileAppender"> |
9 | <file type="log4net.Util.PatternString" value="action.log" /> |
10 | <appendToFile value="true" /> |
11 | <encoding value="utf-8" /> |
12 | <maxSizeRollBackups value="30" /> |
13 | <rollingStyle value="Date" /> |
14 | <datePattern value="'.'yyyy-MM-dd" /> |
15 | <layout type="log4net.Layout.PatternLayout"> |
16 | <conversionPattern value="(%date{HH:mm:ss,fff}) [%t] - %u %5property{Duration} %property{StatusCode} %6property{Method} %property{Uri} %m%n " /> |
17 | </layout> |
18 | <filter type="log4net.Filter.LoggerMatchFilter"> |
19 | <acceptOnMatch value="true" /> |
20 | <LoggerToMatch value="Sample.Web.Filters.WebApiActionFilter" /> |
21 | </filter> |
22 | |
23 | <filter type="log4net.Filter.DenyAllFilter" /> |
24 | </appender> |
25 | </log4net> |
其中要注意的是
- log4net.Filter.LoggerMatchFilter: 用來設定特定的 class 記錄才使用這個 Appender
- acceptOnMatch: 這個設定有點像是 blacklist/whitelist,true 表示有 match 才是,相當於 whitelist
- LoggerToMatch: 設定要篩選的類別名稱
- log4net.Filter.DenyAllFilter: 篩選掉其他的 Log,不會在這個 Appender 裡面記錄