EF+MVC配置Log4Net,终极详解

测试demo源码,请git
here: https://github.com/net-web/MemCacheExample.git
今天,2017年10月24日。 我还在佛山移动,开发服务订单中心系统。
里面有一个需求:优化日志。而且移动客户指明使用Log4Net。
我看来Log4Net的两项显著的有点:可分“错误等级”记录、滚动、配置化(非常方便)。
其实我们的优化仅仅是:配置灵活。应为没有多少日志需要记录,更不用说滚动日志了。

- 阅读剩余部分 -

Log4Net日志配置使用

【来自百度百科的一句介绍】log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。

1、首先添加对log4net.dll的引用。可以去【http://logging.apache.org/log4net/download_log4net.cgi】下载或者NuGet

2、在web.config(App.config)中进行配置

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <!-- Define some output appenders -->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="test.txt"/>  文件名
      <appendToFile value="true"/>  追加还是覆盖
      <maxSizeRollBackups value="10"/>  数量/个数
      <maximumFileSize value="1024KB"/>  txt大小
      <rollingStyle value="Size"/>   按大小划分
      <staticLogFileName value="true"/>  是否静态名称
      <layout type="log4net.Layout.PatternLayout">  日志文件格式
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
      </layout>
    </appender>
    <root>
      <level value="DEBUG"/>  错误等级
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
</configuration>

2.1、这是最基础的配置,如果项目中使用,我习惯 让日志名称按时间来划分

- 阅读剩余部分 -

MSSQL中case子句的两种形式

case子句,在select后面可以进行逻辑判断。

两种形式:判断相等、判断不等

一、判断相等的语法:

case 列名

when ... then ...

when ... then ...

else ...

end as 列别名


ONE:新建一个表,插入初始数据。

--查整个表
select * from SDetail

--插入初始数据
insert into SDetail (SName,SScore,SGender) values('刘德华',99,0)
insert into SDetail (SName,SScore,SGender) values('古天乐',55,0)
insert into SDetail (SName,SScore,SGender) values('张惠妹',55,1)
insert into SDetail e(SName,SScore,SGender) values('梁家栋',43,0)
insert into SDetail (SName,SScore,SGender) values('王力宏',99,0)
insert into SDetail (SName,SScore,SGender) values('刘亦菲',88,1)

case 子句判断相等:

  --case 语法的两种形式
select * ,
case SGender when 0 then '男' when 1 then '女' end as '性别'
from SDetail

mssql-case


判断不等(范围)

case when 包含列名的逻辑表达式 then ...

when ... then ...

else ...

end as 列别名

    --case 判断不等(范围)
select * ,
case when SScore>60 then '及格' else '不及格' end as '是否及格'
from SDetail

执行结果:
请输入图片描述