Access 에서 Log4Net을 쓰기 위한 App.config 에 추가해야하는 명령줄


아래 예시는 Access 로 연결하는 방법을 예시로 나타낸 것이며, 각 DB에 따라 연결 방법이 다름을 알립니다. 다른 DB 연결 방법은 아래 출처에 가면 자세하게 나와있으니 참고하시기 바랍니다.


본 예시는 데이터베이스인 mdb에 Log라는 테이블이 존재하고 Log 테이블 안에는 Date, Thread, Level, Logger, Message라는 컬럼이 추가되어 있는 상태.


1
2
3
4
5
6
7
8
9
CREATE TABLE [dbo].[Log] (
    [Id] [int] IDENTITY (11) NOT NULL,
    [Date] [datetime] NOT NULL,
    [Thread] [varchar] (255) NOT NULL,
    [Level] [varchar] (50) NOT NULL,
    [Logger] [varchar] (255) NOT NULL,
    [Message] [varchar] (4000) NOT NULL,
    [Exception] [varchar] (2000) NULL
)
cs



파라미터의 @thread는 Log4Net을 쓸때 개발툴에서 파라미터로 넘겨줄 변수명을 입력하는 것이고, %thread는 데이터베이스로 전달할 (데이터베이스의 컬럼명과 동일함. 데이터베이스는 대소문자 구별하지 않음) 변수를 나타내는 것이다.


아래의 문구를 이용하여 원하는 방법으로 변경하여 이용하자.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<configSections>
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
    <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\log\access.mdb;User Id=;Password=;" />
    <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
    <parameter>
        <parameterName value="@log_date" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date" />
        </layout>
    </parameter>
    <parameter>
        <parameterName value="@thread" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%thread" />
        </layout>
    </parameter>
    <parameter>
        <parameterName value="@log_level" />
        <dbType value="String" />
        <size value="50" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%level" />
        </layout>
    </parameter>
    <parameter>
        <parameterName value="@logger" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%logger" />
        </layout>
    </parameter>
    <parameter>
        <parameterName value="@message" />
        <dbType value="String" />
        <size value="1024" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%message" />
        </layout>
    </parameter>
</appender>
<log4net>
cs


출처 : https://logging.apache.org/log4net/release/config-examples.html

+ Recent posts