Fråga : using log4net testa in funktionsläget för fel skriver endast till db, när du stoppar testa för fel.

Hur kan jag fixa så, när testa in funktionsläget log4net för fel skriver till db-immediatelen? " för

" för AdoNetAppender_SqlServer data Source=WM7-1111-MATHC för
" type= " log4net. " för >
nt.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089/>r/>NetAppendeial Catalog=; Inbyggda Security=True; ”providerName= " value= " MELLANLÄGG för />
för System.Data.SqlClient " IN I OWU_Log4Net ([datera], [jämna], [loggeren], [User], [Message], [Exception], [Thread]) VÄRDERAR (@log_date, @log_level, @logger, @user, @message, @exception, @thread)” value= för
, " för @log_date för value= " för
för/>
som DateTime för meStampLayout " " för/>
value= för
" för @log_level för value= " för
för/>

stränger "/>

för type= " för/>
" för value= " för
för/>


för

,
@user " för value= för
för/>


" log4net. " >

" stränger "/>



för log4net. Layout.PatternLayout "
tionLayout”” för/>
value= för
, " för @thread för value= " för
för/>

stränga”/>
rnLayout” för/>
value= " %t”/>


" för >

för
" ALL”
ref= " AdoNetAppender_SqlServer”/>

> för
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:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
" codeBody " system för class= för using "; using System.Collections.Generic; using System.Text; using log4net; den offentliga statisk elektricitet klassificerar loggar { privat const stränger LOG_REPOSITORY = ”standard”; // detta bör troligen vara fastställd i rengöringsdukconfigna. privat statisk elektricitetILog m_log; offentlig statisk elektricitet utan laga kraft Init () { log4net. Config.XmlConfigurator.Configure (); } den utan laga kraft offentliga statisk elektricitet skriver (stränga meddelandet, LogMessageType messageType), { DoLog (meddelande, messageType som är ogiltig, Type.GetType (”System.Object”)); } den utan laga kraft offentliga statisk elektricitet skriver (stränga meddelandet, LogMessageType messageType, typtyp), { DoLog (meddelande, messageType, ogiltigt, typ); } den utan laga kraft offentliga statisk elektricitet skriver (stränga meddelandet, LogMessageType messageType, undantagsföre detta), { DoLog (meddelande, messageType, före detta, Type.GetType (”System.Object”)); } den utan laga kraft offentliga statisk elektricitet skriver (stränga meddelandet, LogMessageType messageType, undantagsföre detta, Skriva typ), { DoLog (meddelande, messageType, före detta, typ); } den utan laga kraft offentliga statisk elektricitet påstår (boolen villkorar, stränger meddelandet), { Påstå (villkora, meddelandet, Type.GetType (”System.Object”)); } den utan laga kraft offentliga statisk elektricitet påstår (boolen villkorar, stränger meddelandet, typtyp), { om (villkora falsk ==), Skriv (meddelande, LogMessageType.Info); } privat statisk elektricitet utan laga kraft DoLog (stränga meddelandet, LogMessageType messageType, undantagsföre detta, Skriva typ), { m_log = LogManager.GetLogger (typ); koppla (messageType) { fall LogMessageType.Debug: Log.m_log.Debug (meddelande, före detta); avbrott; fall LogMessageType.Info: Log.m_log.Info (meddelande, före detta); avbrott; fall LogMessageType.Warn: Log.m_log.Warn (meddelande, före detta); avbrott; fall LogMessageType.Error: Log.m_log.Error (meddelande, före detta); avbrott; fall LogMessageType.Fatal: Log.m_log.Fatal (meddelande, före detta); avbrott; } } offentlig enum LogMessageType { Testa för fel, Info, Varna, Fel, Dödligt } }
" klar "

Svar : using log4net testa in funktionsläget för fel skriver endast till db, när du stoppar testa för fel.

För iterators…, Den kan se inte så på den första tiden, men iterators är en sort av naturligare.  När du löser ett problem, du ansar till funderare benämner in ”bearbetar alla beståndsdelar från…”, eller matematiskt ”för alla beståndsdelar i…”.  Det enda konventionellt långt som ska göras, som är att använda en kretsa.  Stunderna kretsar i C-familj som språk är för allmänna; du har gör något kliver på ditt eget.  För kretsa i C-familj som språk är en liten syntactic förbättring av stunderna.  I andra programmera språk för kretsa är räknad kretsar.  Men detta också hjälpmedel att du måste att omforma ett index till den indexerade beståndsdelen.  På grund av det du ansar ofta för att sätta beståndsdelarna in i indexerat något strukturerar -- till en samling eller till en vektor.

Om du funderare mer om den, vad ditt behov är egentligen en sort av generaliserat, kretsar som kretsar till och med alla beståndsdelar av en behållare, utan nödvändigtvis att förbereda något numeriskt index.  Om du personify det processaa, arbetarnågot att säga till en annan ”ger mig det nästa”, och inte ”ge mig 3254.”.  Detta är exakt vad iterators är bra för.  Iteratoren är skriva-begränsar somehow till behållaren.  Därefter du kan inte intresseras i inre specificerar (det är huruvida indexerad insida, eller huruvida det är anknuten strukturerar).  Med andra ord iteratorsna kommer med mer abstraktion.

Tyvärr iteratorsna är nyare, än kärna ur av C++ och där är därför generaliserat inget kretsar och syntax för att göra alla av denna mer påtaglig syntactically.  Kretsa (i andra språk, något liknande i pytonormen, var iterators fungerar nästan magically som, när du får van vid bättre sytax av generaliserad döljas), dig missa egentligen den syntax i C++.  Den standarda nya C++en går att förbättra som den, a bet.
Andra lösningar  
 
programming4us programming4us