log4net.xml 1.4 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>log4net</name>
  5. </assembly>
  6. <members>
  7. <member name="T:log4net.Appender.AdoNetAppender">
  8. <summary>
  9. Appender that logs to a database.
  10. </summary>
  11. <remarks>
  12. <para>
  13. <see cref="T:log4net.Appender.AdoNetAppender"/> appends logging events to a table within a
  14. database. The appender can be configured to specify the connection
  15. string by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionString"/> property.
  16. The connection type (provider) can be specified by setting the <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/>
  17. property. For more information on database connection strings for
  18. your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>.
  19. </para>
  20. <para>
  21. Records are written into the database either using a prepared
  22. statement or a stored procedure. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property
  23. is set to <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify a prepared statement
  24. or to <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify a stored
  25. procedure.
  26. </para>
  27. <para>
  28. The prepared statement text or the name of the stored procedure
  29. must be set in the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property.
  30. </para>
  31. <para>
  32. The prepared statement or stored procedure can take a number
  33. of parameters. Parameters are added using the <see cref="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)"/>
  34. method. This adds a single <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> to the
  35. ordered list of parameters. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/>
  36. type may be subclassed if required to provide database specific
  37. functionality. The <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> specifies
  38. the parameter name, database type, size, and how the value should
  39. be generated using a <see cref="T:log4net.Layout.ILayout"/>.
  40. </para>
  41. </remarks>
  42. <example>
  43. An example of a SQL Server table that could be logged to:
  44. <code lang="SQL">
  45. CREATE TABLE [dbo].[Log] (
  46. [ID] [int] IDENTITY (1, 1) NOT NULL ,
  47. [Date] [datetime] NOT NULL ,
  48. [Thread] [varchar] (255) NOT NULL ,
  49. [Level] [varchar] (20) NOT NULL ,
  50. [Logger] [varchar] (255) NOT NULL ,
  51. [Message] [varchar] (4000) NOT NULL
  52. ) ON [PRIMARY]
  53. </code>
  54. </example>
  55. <example>
  56. An example configuration to log to the above table:
  57. <code lang="XML" escaped="true">
  58. <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender" >
  59. <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  60. <connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa" />
  61. <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
  62. <parameter>
  63. <parameterName value="@log_date" />
  64. <dbType value="DateTime" />
  65. <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
  66. </parameter>
  67. <parameter>
  68. <parameterName value="@thread" />
  69. <dbType value="String" />
  70. <size value="255" />
  71. <layout type="log4net.Layout.PatternLayout" value="%thread" />
  72. </parameter>
  73. <parameter>
  74. <parameterName value="@log_level" />
  75. <dbType value="String" />
  76. <size value="50" />
  77. <layout type="log4net.Layout.PatternLayout" value="%level" />
  78. </parameter>
  79. <parameter>
  80. <parameterName value="@logger" />
  81. <dbType value="String" />
  82. <size value="255" />
  83. <layout type="log4net.Layout.PatternLayout" value="%logger" />
  84. </parameter>
  85. <parameter>
  86. <parameterName value="@message" />
  87. <dbType value="String" />
  88. <size value="4000" />
  89. <layout type="log4net.Layout.PatternLayout" value="%message" />
  90. </parameter>
  91. </appender>
  92. </code>
  93. </example>
  94. <author>Julian Biddle</author>
  95. <author>Nicko Cadell</author>
  96. <author>Gert Driesen</author>
  97. <author>Lance Nehring</author>
  98. </member>
  99. <member name="M:log4net.Appender.AdoNetAppender.#ctor">
  100. <summary>
  101. Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppender" /> class.
  102. </summary>
  103. <remarks>
  104. Public default constructor to initialize a new instance of this class.
  105. </remarks>
  106. </member>
  107. <member name="P:log4net.Appender.AdoNetAppender.ConnectionString">
  108. <summary>
  109. Gets or sets the database connection string that is used to connect to
  110. the database.
  111. </summary>
  112. <value>
  113. The database connection string used to connect to the database.
  114. </value>
  115. <remarks>
  116. <para>
  117. The connections string is specific to the connection type.
  118. See <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> for more information.
  119. </para>
  120. </remarks>
  121. <example>Connection string for MS Access via ODBC:
  122. <code>"DSN=MS Access Database;UID=admin;PWD=;SystemDB=C:\data\System.mdw;SafeTransactions = 0;FIL=MS Access;DriverID = 25;DBQ=C:\data\train33.mdb"</code>
  123. </example>
  124. <example>Another connection string for MS Access via ODBC:
  125. <code>"Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\Work\cvs_root\log4net-1.2\access.mdb;UID=;PWD=;"</code>
  126. </example>
  127. <example>Connection string for MS Access via OLE DB:
  128. <code>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Work\cvs_root\log4net-1.2\access.mdb;User Id=;Password=;"</code>
  129. </example>
  130. </member>
  131. <member name="P:log4net.Appender.AdoNetAppender.AppSettingsKey">
  132. <summary>
  133. The appSettings key from App.Config that contains the connection string.
  134. </summary>
  135. </member>
  136. <member name="P:log4net.Appender.AdoNetAppender.ConnectionStringName">
  137. <summary>
  138. The connectionStrings key from App.Config that contains the connection string.
  139. </summary>
  140. <remarks>
  141. This property requires at least .NET 2.0.
  142. </remarks>
  143. </member>
  144. <member name="P:log4net.Appender.AdoNetAppender.ConnectionType">
  145. <summary>
  146. Gets or sets the type name of the <see cref="T:System.Data.IDbConnection"/> connection
  147. that should be created.
  148. </summary>
  149. <value>
  150. The type name of the <see cref="T:System.Data.IDbConnection"/> connection.
  151. </value>
  152. <remarks>
  153. <para>
  154. The type name of the ADO.NET provider to use.
  155. </para>
  156. <para>
  157. The default is to use the OLE DB provider.
  158. </para>
  159. </remarks>
  160. <example>Use the OLE DB Provider. This is the default value.
  161. <code>System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
  162. </example>
  163. <example>Use the MS SQL Server Provider.
  164. <code>System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
  165. </example>
  166. <example>Use the ODBC Provider.
  167. <code>Microsoft.Data.Odbc.OdbcConnection,Microsoft.Data.Odbc,version=1.0.3300.0,publicKeyToken=b77a5c561934e089,culture=neutral</code>
  168. This is an optional package that you can download from
  169. <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a>
  170. search for <b>ODBC .NET Data Provider</b>.
  171. </example>
  172. <example>Use the Oracle Provider.
  173. <code>System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</code>
  174. This is an optional package that you can download from
  175. <a href="http://msdn.microsoft.com/downloads">http://msdn.microsoft.com/downloads</a>
  176. search for <b>.NET Managed Provider for Oracle</b>.
  177. </example>
  178. </member>
  179. <member name="P:log4net.Appender.AdoNetAppender.CommandText">
  180. <summary>
  181. Gets or sets the command text that is used to insert logging events
  182. into the database.
  183. </summary>
  184. <value>
  185. The command text used to insert logging events into the database.
  186. </value>
  187. <remarks>
  188. <para>
  189. Either the text of the prepared statement or the
  190. name of the stored procedure to execute to write into
  191. the database.
  192. </para>
  193. <para>
  194. The <see cref="P:log4net.Appender.AdoNetAppender.CommandType"/> property determines if
  195. this text is a prepared statement or a stored procedure.
  196. </para>
  197. <para>
  198. If this property is not set, the command text is retrieved by invoking
  199. <see cref="M:log4net.Appender.AdoNetAppender.GetLogStatement(log4net.Core.LoggingEvent)"/>.
  200. </para>
  201. </remarks>
  202. </member>
  203. <member name="P:log4net.Appender.AdoNetAppender.CommandType">
  204. <summary>
  205. Gets or sets the command type to execute.
  206. </summary>
  207. <value>
  208. The command type to execute.
  209. </value>
  210. <remarks>
  211. <para>
  212. This value may be either <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>) to specify
  213. that the <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> is a prepared statement to execute,
  214. or <see cref="F:System.Data.CommandType.StoredProcedure"/> (<c>System.Data.CommandType.StoredProcedure</c>) to specify that the
  215. <see cref="P:log4net.Appender.AdoNetAppender.CommandText"/> property is the name of a stored procedure
  216. to execute.
  217. </para>
  218. <para>
  219. The default value is <see cref="F:System.Data.CommandType.Text"/> (<c>System.Data.CommandType.Text</c>).
  220. </para>
  221. </remarks>
  222. </member>
  223. <member name="P:log4net.Appender.AdoNetAppender.UseTransactions">
  224. <summary>
  225. Should transactions be used to insert logging events in the database.
  226. </summary>
  227. <value>
  228. <c>true</c> if transactions should be used to insert logging events in
  229. the database, otherwise <c>false</c>. The default value is <c>true</c>.
  230. </value>
  231. <remarks>
  232. <para>
  233. Gets or sets a value that indicates whether transactions should be used
  234. to insert logging events in the database.
  235. </para>
  236. <para>
  237. When set a single transaction will be used to insert the buffered events
  238. into the database. Otherwise each event will be inserted without using
  239. an explicit transaction.
  240. </para>
  241. </remarks>
  242. </member>
  243. <member name="P:log4net.Appender.AdoNetAppender.SecurityContext">
  244. <summary>
  245. Gets or sets the <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
  246. </summary>
  247. <value>
  248. The <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> used to call the NetSend method.
  249. </value>
  250. <remarks>
  251. <para>
  252. Unless a <see cref="P:log4net.Appender.AdoNetAppender.SecurityContext"/> specified here for this appender
  253. the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
  254. security context to use. The default behavior is to use the security context
  255. of the current thread.
  256. </para>
  257. </remarks>
  258. </member>
  259. <member name="P:log4net.Appender.AdoNetAppender.ReconnectOnError">
  260. <summary>
  261. Should this appender try to reconnect to the database on error.
  262. </summary>
  263. <value>
  264. <c>true</c> if the appender should try to reconnect to the database after an
  265. error has occurred, otherwise <c>false</c>. The default value is <c>false</c>,
  266. i.e. not to try to reconnect.
  267. </value>
  268. <remarks>
  269. <para>
  270. The default behaviour is for the appender not to try to reconnect to the
  271. database if an error occurs. Subsequent logging events are discarded.
  272. </para>
  273. <para>
  274. To force the appender to attempt to reconnect to the database set this
  275. property to <c>true</c>.
  276. </para>
  277. <note>
  278. When the appender attempts to connect to the database there may be a
  279. delay of up to the connection timeout specified in the connection string.
  280. This delay will block the calling application's thread.
  281. Until the connection can be reestablished this potential delay may occur multiple times.
  282. </note>
  283. </remarks>
  284. </member>
  285. <member name="P:log4net.Appender.AdoNetAppender.Connection">
  286. <summary>
  287. Gets or sets the underlying <see cref="T:System.Data.IDbConnection" />.
  288. </summary>
  289. <value>
  290. The underlying <see cref="T:System.Data.IDbConnection" />.
  291. </value>
  292. <remarks>
  293. <see cref="T:log4net.Appender.AdoNetAppender" /> creates a <see cref="T:System.Data.IDbConnection" /> to insert
  294. logging events into a database. Classes deriving from <see cref="T:log4net.Appender.AdoNetAppender" />
  295. can use this property to get or set this <see cref="T:System.Data.IDbConnection" />. Use the
  296. underlying <see cref="T:System.Data.IDbConnection" /> returned from <see cref="P:log4net.Appender.AdoNetAppender.Connection" /> if
  297. you require access beyond that which <see cref="T:log4net.Appender.AdoNetAppender" /> provides.
  298. </remarks>
  299. </member>
  300. <member name="M:log4net.Appender.AdoNetAppender.ActivateOptions">
  301. <summary>
  302. Initialize the appender based on the options set
  303. </summary>
  304. <remarks>
  305. <para>
  306. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  307. activation scheme. The <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> method must
  308. be called on this object after the configuration properties have
  309. been set. Until <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> is called this
  310. object is in an undefined state and must not be used.
  311. </para>
  312. <para>
  313. If any of the configuration properties are modified then
  314. <see cref="M:log4net.Appender.AdoNetAppender.ActivateOptions"/> must be called again.
  315. </para>
  316. </remarks>
  317. </member>
  318. <member name="M:log4net.Appender.AdoNetAppender.OnClose">
  319. <summary>
  320. Override the parent method to close the database
  321. </summary>
  322. <remarks>
  323. <para>
  324. Closes the database command and database connection.
  325. </para>
  326. </remarks>
  327. </member>
  328. <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(log4net.Core.LoggingEvent[])">
  329. <summary>
  330. Inserts the events into the database.
  331. </summary>
  332. <param name="events">The events to insert into the database.</param>
  333. <remarks>
  334. <para>
  335. Insert all the events specified in the <paramref name="events"/>
  336. array into the database.
  337. </para>
  338. </remarks>
  339. </member>
  340. <member name="M:log4net.Appender.AdoNetAppender.AddParameter(log4net.Appender.AdoNetAppenderParameter)">
  341. <summary>
  342. Adds a parameter to the command.
  343. </summary>
  344. <param name="parameter">The parameter to add to the command.</param>
  345. <remarks>
  346. <para>
  347. Adds a parameter to the ordered list of command parameters.
  348. </para>
  349. </remarks>
  350. </member>
  351. <member name="M:log4net.Appender.AdoNetAppender.SendBuffer(System.Data.IDbTransaction,log4net.Core.LoggingEvent[])">
  352. <summary>
  353. Writes the events to the database using the transaction specified.
  354. </summary>
  355. <param name="dbTran">The transaction that the events will be executed under.</param>
  356. <param name="events">The array of events to insert into the database.</param>
  357. <remarks>
  358. <para>
  359. The transaction argument can be <c>null</c> if the appender has been
  360. configured not to use transactions. See <see cref="P:log4net.Appender.AdoNetAppender.UseTransactions"/>
  361. property for more information.
  362. </para>
  363. </remarks>
  364. </member>
  365. <member name="M:log4net.Appender.AdoNetAppender.GetLogStatement(log4net.Core.LoggingEvent)">
  366. <summary>
  367. Formats the log message into database statement text.
  368. </summary>
  369. <param name="logEvent">The event being logged.</param>
  370. <remarks>
  371. This method can be overridden by subclasses to provide
  372. more control over the format of the database statement.
  373. </remarks>
  374. <returns>
  375. Text that can be passed to a <see cref="T:System.Data.IDbCommand"/>.
  376. </returns>
  377. </member>
  378. <member name="M:log4net.Appender.AdoNetAppender.CreateConnection(System.Type,System.String)">
  379. <summary>
  380. Creates an <see cref="T:System.Data.IDbConnection"/> instance used to connect to the database.
  381. </summary>
  382. <remarks>
  383. This method is called whenever a new IDbConnection is needed (i.e. when a reconnect is necessary).
  384. </remarks>
  385. <param name="connectionType">The <see cref="T:System.Type"/> of the <see cref="T:System.Data.IDbConnection"/> object.</param>
  386. <param name="connectionString">The connectionString output from the ResolveConnectionString method.</param>
  387. <returns>An <see cref="T:System.Data.IDbConnection"/> instance with a valid connection string.</returns>
  388. </member>
  389. <member name="M:log4net.Appender.AdoNetAppender.ResolveConnectionString(System.String@)">
  390. <summary>
  391. Resolves the connection string from the ConnectionString, ConnectionStringName, or AppSettingsKey
  392. property.
  393. </summary>
  394. <remarks>
  395. ConnectiongStringName is only supported on .NET 2.0 and higher.
  396. </remarks>
  397. <param name="connectionStringContext">Additional information describing the connection string.</param>
  398. <returns>A connection string used to connect to the database.</returns>
  399. </member>
  400. <member name="M:log4net.Appender.AdoNetAppender.ResolveConnectionType">
  401. <summary>
  402. Retrieves the class type of the ADO.NET provider.
  403. </summary>
  404. <remarks>
  405. <para>
  406. Gets the Type of the ADO.NET provider to use to connect to the
  407. database. This method resolves the type specified in the
  408. <see cref="P:log4net.Appender.AdoNetAppender.ConnectionType"/> property.
  409. </para>
  410. <para>
  411. Subclasses can override this method to return a different type
  412. if necessary.
  413. </para>
  414. </remarks>
  415. <returns>The <see cref="T:System.Type"/> of the ADO.NET provider</returns>
  416. </member>
  417. <member name="M:log4net.Appender.AdoNetAppender.InitializeDatabaseConnection">
  418. <summary>
  419. Connects to the database.
  420. </summary>
  421. </member>
  422. <member name="M:log4net.Appender.AdoNetAppender.DiposeConnection">
  423. <summary>
  424. Cleanup the existing connection.
  425. </summary>
  426. <remarks>
  427. Calls the IDbConnection's <see cref="M:System.Data.IDbConnection.Close"/> method.
  428. </remarks>
  429. </member>
  430. <member name="F:log4net.Appender.AdoNetAppender.m_parameters">
  431. <summary>
  432. The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
  433. </summary>
  434. <remarks>
  435. <para>
  436. The list of <see cref="T:log4net.Appender.AdoNetAppenderParameter"/> objects.
  437. </para>
  438. </remarks>
  439. </member>
  440. <member name="F:log4net.Appender.AdoNetAppender.m_securityContext">
  441. <summary>
  442. The security context to use for privileged calls
  443. </summary>
  444. </member>
  445. <member name="F:log4net.Appender.AdoNetAppender.m_dbConnection">
  446. <summary>
  447. The <see cref="T:System.Data.IDbConnection" /> that will be used
  448. to insert logging events into a database.
  449. </summary>
  450. </member>
  451. <member name="F:log4net.Appender.AdoNetAppender.m_connectionString">
  452. <summary>
  453. Database connection string.
  454. </summary>
  455. </member>
  456. <member name="F:log4net.Appender.AdoNetAppender.m_appSettingsKey">
  457. <summary>
  458. The appSettings key from App.Config that contains the connection string.
  459. </summary>
  460. </member>
  461. <member name="F:log4net.Appender.AdoNetAppender.m_connectionStringName">
  462. <summary>
  463. The connectionStrings key from App.Config that contains the connection string.
  464. </summary>
  465. </member>
  466. <member name="F:log4net.Appender.AdoNetAppender.m_connectionType">
  467. <summary>
  468. String type name of the <see cref="T:System.Data.IDbConnection"/> type name.
  469. </summary>
  470. </member>
  471. <member name="F:log4net.Appender.AdoNetAppender.m_commandText">
  472. <summary>
  473. The text of the command.
  474. </summary>
  475. </member>
  476. <member name="F:log4net.Appender.AdoNetAppender.m_commandType">
  477. <summary>
  478. The command type.
  479. </summary>
  480. </member>
  481. <member name="F:log4net.Appender.AdoNetAppender.m_useTransactions">
  482. <summary>
  483. Indicates whether to use transactions when writing to the database.
  484. </summary>
  485. </member>
  486. <member name="F:log4net.Appender.AdoNetAppender.m_reconnectOnError">
  487. <summary>
  488. Indicates whether to reconnect when a connection is lost.
  489. </summary>
  490. </member>
  491. <member name="F:log4net.Appender.AdoNetAppender.declaringType">
  492. <summary>
  493. The fully qualified type of the AdoNetAppender class.
  494. </summary>
  495. <remarks>
  496. Used by the internal logger to record the Type of the
  497. log message.
  498. </remarks>
  499. </member>
  500. <member name="T:log4net.Appender.AdoNetAppenderParameter">
  501. <summary>
  502. Parameter type used by the <see cref="T:log4net.Appender.AdoNetAppender"/>.
  503. </summary>
  504. <remarks>
  505. <para>
  506. This class provides the basic database parameter properties
  507. as defined by the <see cref="T:System.Data.IDbDataParameter"/> interface.
  508. </para>
  509. <para>This type can be subclassed to provide database specific
  510. functionality. The two methods that are called externally are
  511. <see cref="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)"/> and <see cref="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)"/>.
  512. </para>
  513. </remarks>
  514. </member>
  515. <member name="M:log4net.Appender.AdoNetAppenderParameter.#ctor">
  516. <summary>
  517. Initializes a new instance of the <see cref="T:log4net.Appender.AdoNetAppenderParameter" /> class.
  518. </summary>
  519. <remarks>
  520. Default constructor for the AdoNetAppenderParameter class.
  521. </remarks>
  522. </member>
  523. <member name="P:log4net.Appender.AdoNetAppenderParameter.ParameterName">
  524. <summary>
  525. Gets or sets the name of this parameter.
  526. </summary>
  527. <value>
  528. The name of this parameter.
  529. </value>
  530. <remarks>
  531. <para>
  532. The name of this parameter. The parameter name
  533. must match up to a named parameter to the SQL stored procedure
  534. or prepared statement.
  535. </para>
  536. </remarks>
  537. </member>
  538. <member name="P:log4net.Appender.AdoNetAppenderParameter.DbType">
  539. <summary>
  540. Gets or sets the database type for this parameter.
  541. </summary>
  542. <value>
  543. The database type for this parameter.
  544. </value>
  545. <remarks>
  546. <para>
  547. The database type for this parameter. This property should
  548. be set to the database type from the <see cref="P:log4net.Appender.AdoNetAppenderParameter.DbType"/>
  549. enumeration. See <see cref="P:System.Data.IDataParameter.DbType"/>.
  550. </para>
  551. <para>
  552. This property is optional. If not specified the ADO.NET provider
  553. will attempt to infer the type from the value.
  554. </para>
  555. </remarks>
  556. <seealso cref="P:System.Data.IDataParameter.DbType" />
  557. </member>
  558. <member name="P:log4net.Appender.AdoNetAppenderParameter.Precision">
  559. <summary>
  560. Gets or sets the precision for this parameter.
  561. </summary>
  562. <value>
  563. The precision for this parameter.
  564. </value>
  565. <remarks>
  566. <para>
  567. The maximum number of digits used to represent the Value.
  568. </para>
  569. <para>
  570. This property is optional. If not specified the ADO.NET provider
  571. will attempt to infer the precision from the value.
  572. </para>
  573. </remarks>
  574. <seealso cref="P:System.Data.IDbDataParameter.Precision" />
  575. </member>
  576. <member name="P:log4net.Appender.AdoNetAppenderParameter.Scale">
  577. <summary>
  578. Gets or sets the scale for this parameter.
  579. </summary>
  580. <value>
  581. The scale for this parameter.
  582. </value>
  583. <remarks>
  584. <para>
  585. The number of decimal places to which Value is resolved.
  586. </para>
  587. <para>
  588. This property is optional. If not specified the ADO.NET provider
  589. will attempt to infer the scale from the value.
  590. </para>
  591. </remarks>
  592. <seealso cref="P:System.Data.IDbDataParameter.Scale" />
  593. </member>
  594. <member name="P:log4net.Appender.AdoNetAppenderParameter.Size">
  595. <summary>
  596. Gets or sets the size for this parameter.
  597. </summary>
  598. <value>
  599. The size for this parameter.
  600. </value>
  601. <remarks>
  602. <para>
  603. The maximum size, in bytes, of the data within the column.
  604. </para>
  605. <para>
  606. This property is optional. If not specified the ADO.NET provider
  607. will attempt to infer the size from the value.
  608. </para>
  609. <para>
  610. For BLOB data types like VARCHAR(max) it may be impossible to infer the value automatically, use -1 as the size in this case.
  611. </para>
  612. </remarks>
  613. <seealso cref="P:System.Data.IDbDataParameter.Size" />
  614. </member>
  615. <member name="P:log4net.Appender.AdoNetAppenderParameter.Layout">
  616. <summary>
  617. Gets or sets the <see cref="T:log4net.Layout.IRawLayout"/> to use to
  618. render the logging event into an object for this
  619. parameter.
  620. </summary>
  621. <value>
  622. The <see cref="T:log4net.Layout.IRawLayout"/> used to render the
  623. logging event into an object for this parameter.
  624. </value>
  625. <remarks>
  626. <para>
  627. The <see cref="T:log4net.Layout.IRawLayout"/> that renders the value for this
  628. parameter.
  629. </para>
  630. <para>
  631. The <see cref="T:log4net.Layout.RawLayoutConverter"/> can be used to adapt
  632. any <see cref="T:log4net.Layout.ILayout"/> into a <see cref="T:log4net.Layout.IRawLayout"/>
  633. for use in the property.
  634. </para>
  635. </remarks>
  636. </member>
  637. <member name="M:log4net.Appender.AdoNetAppenderParameter.Prepare(System.Data.IDbCommand)">
  638. <summary>
  639. Prepare the specified database command object.
  640. </summary>
  641. <param name="command">The command to prepare.</param>
  642. <remarks>
  643. <para>
  644. Prepares the database command object by adding
  645. this parameter to its collection of parameters.
  646. </para>
  647. </remarks>
  648. </member>
  649. <member name="M:log4net.Appender.AdoNetAppenderParameter.FormatValue(System.Data.IDbCommand,log4net.Core.LoggingEvent)">
  650. <summary>
  651. Renders the logging event and set the parameter value in the command.
  652. </summary>
  653. <param name="command">The command containing the parameter.</param>
  654. <param name="loggingEvent">The event to be rendered.</param>
  655. <remarks>
  656. <para>
  657. Renders the logging event using this parameters layout
  658. object. Sets the value of the parameter on the command object.
  659. </para>
  660. </remarks>
  661. </member>
  662. <member name="F:log4net.Appender.AdoNetAppenderParameter.m_parameterName">
  663. <summary>
  664. The name of this parameter.
  665. </summary>
  666. </member>
  667. <member name="F:log4net.Appender.AdoNetAppenderParameter.m_dbType">
  668. <summary>
  669. The database type for this parameter.
  670. </summary>
  671. </member>
  672. <member name="F:log4net.Appender.AdoNetAppenderParameter.m_inferType">
  673. <summary>
  674. Flag to infer type rather than use the DbType
  675. </summary>
  676. </member>
  677. <member name="F:log4net.Appender.AdoNetAppenderParameter.m_precision">
  678. <summary>
  679. The precision for this parameter.
  680. </summary>
  681. </member>
  682. <member name="F:log4net.Appender.AdoNetAppenderParameter.m_scale">
  683. <summary>
  684. The scale for this parameter.
  685. </summary>
  686. </member>
  687. <member name="F:log4net.Appender.AdoNetAppenderParameter.m_size">
  688. <summary>
  689. The size for this parameter.
  690. </summary>
  691. </member>
  692. <member name="F:log4net.Appender.AdoNetAppenderParameter.m_layout">
  693. <summary>
  694. The <see cref="T:log4net.Layout.IRawLayout"/> to use to render the
  695. logging event into an object for this parameter.
  696. </summary>
  697. </member>
  698. <member name="T:log4net.Appender.AnsiColorTerminalAppender">
  699. <summary>
  700. Appends logging events to the terminal using ANSI color escape sequences.
  701. </summary>
  702. <remarks>
  703. <para>
  704. AnsiColorTerminalAppender appends log events to the standard output stream
  705. or the error output stream using a layout specified by the
  706. user. It also allows the color of a specific level of message to be set.
  707. </para>
  708. <note>
  709. This appender expects the terminal to understand the VT100 control set
  710. in order to interpret the color codes. If the terminal or console does not
  711. understand the control codes the behavior is not defined.
  712. </note>
  713. <para>
  714. By default, all output is written to the console's standard output stream.
  715. The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> property can be set to direct the output to the
  716. error stream.
  717. </para>
  718. <para>
  719. NOTE: This appender writes each message to the <c>System.Console.Out</c> or
  720. <c>System.Console.Error</c> that is set at the time the event is appended.
  721. Therefore it is possible to programmatically redirect the output of this appender
  722. (for example NUnit does this to capture program output). While this is the desired
  723. behavior of this appender it may have security implications in your application.
  724. </para>
  725. <para>
  726. When configuring the ANSI colored terminal appender, a mapping should be
  727. specified to map a logging level to a color. For example:
  728. </para>
  729. <code lang="XML" escaped="true">
  730. <mapping>
  731. <level value="ERROR" />
  732. <foreColor value="White" />
  733. <backColor value="Red" />
  734. <attributes value="Bright,Underscore" />
  735. </mapping>
  736. <mapping>
  737. <level value="DEBUG" />
  738. <backColor value="Green" />
  739. </mapping>
  740. </code>
  741. <para>
  742. The Level is the standard log4net logging level and ForeColor and BackColor can be any
  743. of the following values:
  744. <list type="bullet">
  745. <item><term>Blue</term><description></description></item>
  746. <item><term>Green</term><description></description></item>
  747. <item><term>Red</term><description></description></item>
  748. <item><term>White</term><description></description></item>
  749. <item><term>Yellow</term><description></description></item>
  750. <item><term>Purple</term><description></description></item>
  751. <item><term>Cyan</term><description></description></item>
  752. </list>
  753. These color values cannot be combined together to make new colors.
  754. </para>
  755. <para>
  756. The attributes can be any combination of the following:
  757. <list type="bullet">
  758. <item><term>Bright</term><description>foreground is brighter</description></item>
  759. <item><term>Dim</term><description>foreground is dimmer</description></item>
  760. <item><term>Underscore</term><description>message is underlined</description></item>
  761. <item><term>Blink</term><description>foreground is blinking (does not work on all terminals)</description></item>
  762. <item><term>Reverse</term><description>foreground and background are reversed</description></item>
  763. <item><term>Hidden</term><description>output is hidden</description></item>
  764. <item><term>Strikethrough</term><description>message has a line through it</description></item>
  765. </list>
  766. While any of these attributes may be combined together not all combinations
  767. work well together, for example setting both <i>Bright</i> and <i>Dim</i> attributes makes
  768. no sense.
  769. </para>
  770. </remarks>
  771. <author>Patrick Wagstrom</author>
  772. <author>Nicko Cadell</author>
  773. </member>
  774. <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes">
  775. <summary>
  776. The enum of possible display attributes
  777. </summary>
  778. <remarks>
  779. <para>
  780. The following flags can be combined together to
  781. form the ANSI color attributes.
  782. </para>
  783. </remarks>
  784. <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender" />
  785. </member>
  786. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Bright">
  787. <summary>
  788. text is bright
  789. </summary>
  790. </member>
  791. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Dim">
  792. <summary>
  793. text is dim
  794. </summary>
  795. </member>
  796. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Underscore">
  797. <summary>
  798. text is underlined
  799. </summary>
  800. </member>
  801. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Blink">
  802. <summary>
  803. text is blinking
  804. </summary>
  805. <remarks>
  806. Not all terminals support this attribute
  807. </remarks>
  808. </member>
  809. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Reverse">
  810. <summary>
  811. text and background colors are reversed
  812. </summary>
  813. </member>
  814. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Hidden">
  815. <summary>
  816. text is hidden
  817. </summary>
  818. </member>
  819. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Strikethrough">
  820. <summary>
  821. text is displayed with a strikethrough
  822. </summary>
  823. </member>
  824. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiAttributes.Light">
  825. <summary>
  826. text color is light
  827. </summary>
  828. </member>
  829. <member name="T:log4net.Appender.AnsiColorTerminalAppender.AnsiColor">
  830. <summary>
  831. The enum of possible foreground or background color values for
  832. use with the color mapping method
  833. </summary>
  834. <remarks>
  835. <para>
  836. The output can be in one for the following ANSI colors.
  837. </para>
  838. </remarks>
  839. <seealso cref="T:log4net.Appender.AnsiColorTerminalAppender" />
  840. </member>
  841. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Black">
  842. <summary>
  843. color is black
  844. </summary>
  845. </member>
  846. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Red">
  847. <summary>
  848. color is red
  849. </summary>
  850. </member>
  851. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Green">
  852. <summary>
  853. color is green
  854. </summary>
  855. </member>
  856. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Yellow">
  857. <summary>
  858. color is yellow
  859. </summary>
  860. </member>
  861. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Blue">
  862. <summary>
  863. color is blue
  864. </summary>
  865. </member>
  866. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Magenta">
  867. <summary>
  868. color is magenta
  869. </summary>
  870. </member>
  871. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.Cyan">
  872. <summary>
  873. color is cyan
  874. </summary>
  875. </member>
  876. <member name="F:log4net.Appender.AnsiColorTerminalAppender.AnsiColor.White">
  877. <summary>
  878. color is white
  879. </summary>
  880. </member>
  881. <member name="M:log4net.Appender.AnsiColorTerminalAppender.#ctor">
  882. <summary>
  883. Initializes a new instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender" /> class.
  884. </summary>
  885. <remarks>
  886. The instance of the <see cref="T:log4net.Appender.AnsiColorTerminalAppender" /> class is set up to write
  887. to the standard output stream.
  888. </remarks>
  889. </member>
  890. <member name="P:log4net.Appender.AnsiColorTerminalAppender.Target">
  891. <summary>
  892. Target is the value of the console output stream.
  893. </summary>
  894. <value>
  895. Target is the value of the console output stream.
  896. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  897. </value>
  898. <remarks>
  899. <para>
  900. Target is the value of the console output stream.
  901. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  902. </para>
  903. </remarks>
  904. </member>
  905. <member name="M:log4net.Appender.AnsiColorTerminalAppender.AddMapping(log4net.Appender.AnsiColorTerminalAppender.LevelColors)">
  906. <summary>
  907. Add a mapping of level to color
  908. </summary>
  909. <param name="mapping">The mapping to add</param>
  910. <remarks>
  911. <para>
  912. Add a <see cref="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors"/> mapping to this appender.
  913. Each mapping defines the foreground and background colours
  914. for a level.
  915. </para>
  916. </remarks>
  917. </member>
  918. <member name="M:log4net.Appender.AnsiColorTerminalAppender.Append(log4net.Core.LoggingEvent)">
  919. <summary>
  920. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
  921. </summary>
  922. <param name="loggingEvent">The event to log.</param>
  923. <remarks>
  924. <para>
  925. Writes the event to the console.
  926. </para>
  927. <para>
  928. The format of the output will depend on the appender's layout.
  929. </para>
  930. </remarks>
  931. </member>
  932. <member name="P:log4net.Appender.AnsiColorTerminalAppender.RequiresLayout">
  933. <summary>
  934. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  935. </summary>
  936. <value><c>true</c></value>
  937. <remarks>
  938. <para>
  939. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  940. </para>
  941. </remarks>
  942. </member>
  943. <member name="M:log4net.Appender.AnsiColorTerminalAppender.ActivateOptions">
  944. <summary>
  945. Initialize the options for this appender
  946. </summary>
  947. <remarks>
  948. <para>
  949. Initialize the level to color mappings set on this appender.
  950. </para>
  951. </remarks>
  952. </member>
  953. <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleOut">
  954. <summary>
  955. The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console
  956. standard output stream.
  957. </summary>
  958. <remarks>
  959. <para>
  960. The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console
  961. standard output stream.
  962. </para>
  963. </remarks>
  964. </member>
  965. <member name="F:log4net.Appender.AnsiColorTerminalAppender.ConsoleError">
  966. <summary>
  967. The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console
  968. standard error output stream.
  969. </summary>
  970. <remarks>
  971. <para>
  972. The <see cref="P:log4net.Appender.AnsiColorTerminalAppender.Target"/> to use when writing to the Console
  973. standard error output stream.
  974. </para>
  975. </remarks>
  976. </member>
  977. <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_writeToErrorStream">
  978. <summary>
  979. Flag to write output to the error stream rather than the standard output stream
  980. </summary>
  981. </member>
  982. <member name="F:log4net.Appender.AnsiColorTerminalAppender.m_levelMapping">
  983. <summary>
  984. Mapping from level object to color value
  985. </summary>
  986. </member>
  987. <member name="F:log4net.Appender.AnsiColorTerminalAppender.PostEventCodes">
  988. <summary>
  989. Ansi code to reset terminal
  990. </summary>
  991. </member>
  992. <member name="T:log4net.Appender.AnsiColorTerminalAppender.LevelColors">
  993. <summary>
  994. A class to act as a mapping between the level that a logging call is made at and
  995. the color it should be displayed as.
  996. </summary>
  997. <remarks>
  998. <para>
  999. Defines the mapping between a level and the color it should be displayed in.
  1000. </para>
  1001. </remarks>
  1002. </member>
  1003. <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor">
  1004. <summary>
  1005. The mapped foreground color for the specified level
  1006. </summary>
  1007. <remarks>
  1008. <para>
  1009. Required property.
  1010. The mapped foreground color for the specified level
  1011. </para>
  1012. </remarks>
  1013. </member>
  1014. <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor">
  1015. <summary>
  1016. The mapped background color for the specified level
  1017. </summary>
  1018. <remarks>
  1019. <para>
  1020. Required property.
  1021. The mapped background color for the specified level
  1022. </para>
  1023. </remarks>
  1024. </member>
  1025. <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes">
  1026. <summary>
  1027. The color attributes for the specified level
  1028. </summary>
  1029. <remarks>
  1030. <para>
  1031. Required property.
  1032. The color attributes for the specified level
  1033. </para>
  1034. </remarks>
  1035. </member>
  1036. <member name="M:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ActivateOptions">
  1037. <summary>
  1038. Initialize the options for the object
  1039. </summary>
  1040. <remarks>
  1041. <para>
  1042. Combine the <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor"/> together
  1043. and append the attributes.
  1044. </para>
  1045. </remarks>
  1046. </member>
  1047. <member name="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.CombinedColor">
  1048. <summary>
  1049. The combined <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.ForeColor"/>, <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.BackColor"/> and
  1050. <see cref="P:log4net.Appender.AnsiColorTerminalAppender.LevelColors.Attributes"/> suitable for setting the ansi terminal color.
  1051. </summary>
  1052. </member>
  1053. <member name="T:log4net.Appender.AppenderCollection">
  1054. <summary>
  1055. A strongly-typed collection of <see cref="T:log4net.Appender.IAppender"/> objects.
  1056. </summary>
  1057. <author>Nicko Cadell</author>
  1058. </member>
  1059. <member name="T:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator">
  1060. <summary>
  1061. Supports type-safe iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
  1062. </summary>
  1063. <exclude/>
  1064. </member>
  1065. <member name="P:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Current">
  1066. <summary>
  1067. Gets the current element in the collection.
  1068. </summary>
  1069. </member>
  1070. <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.MoveNext">
  1071. <summary>
  1072. Advances the enumerator to the next element in the collection.
  1073. </summary>
  1074. <returns>
  1075. <c>true</c> if the enumerator was successfully advanced to the next element;
  1076. <c>false</c> if the enumerator has passed the end of the collection.
  1077. </returns>
  1078. <exception cref="T:System.InvalidOperationException">
  1079. The collection was modified after the enumerator was created.
  1080. </exception>
  1081. </member>
  1082. <member name="M:log4net.Appender.AppenderCollection.IAppenderCollectionEnumerator.Reset">
  1083. <summary>
  1084. Sets the enumerator to its initial position, before the first element in the collection.
  1085. </summary>
  1086. </member>
  1087. <member name="M:log4net.Appender.AppenderCollection.ReadOnly(log4net.Appender.AppenderCollection)">
  1088. <summary>
  1089. Creates a read-only wrapper for a <c>AppenderCollection</c> instance.
  1090. </summary>
  1091. <param name="list">list to create a readonly wrapper arround</param>
  1092. <returns>
  1093. An <c>AppenderCollection</c> wrapper that is read-only.
  1094. </returns>
  1095. </member>
  1096. <member name="F:log4net.Appender.AppenderCollection.EmptyCollection">
  1097. <summary>
  1098. An empty readonly static AppenderCollection
  1099. </summary>
  1100. </member>
  1101. <member name="M:log4net.Appender.AppenderCollection.#ctor">
  1102. <summary>
  1103. Initializes a new instance of the <c>AppenderCollection</c> class
  1104. that is empty and has the default initial capacity.
  1105. </summary>
  1106. </member>
  1107. <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Int32)">
  1108. <summary>
  1109. Initializes a new instance of the <c>AppenderCollection</c> class
  1110. that has the specified initial capacity.
  1111. </summary>
  1112. <param name="capacity">
  1113. The number of elements that the new <c>AppenderCollection</c> is initially capable of storing.
  1114. </param>
  1115. </member>
  1116. <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection)">
  1117. <summary>
  1118. Initializes a new instance of the <c>AppenderCollection</c> class
  1119. that contains elements copied from the specified <c>AppenderCollection</c>.
  1120. </summary>
  1121. <param name="c">The <c>AppenderCollection</c> whose elements are copied to the new collection.</param>
  1122. </member>
  1123. <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.IAppender[])">
  1124. <summary>
  1125. Initializes a new instance of the <c>AppenderCollection</c> class
  1126. that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> array.
  1127. </summary>
  1128. <param name="a">The <see cref="T:log4net.Appender.IAppender"/> array whose elements are copied to the new list.</param>
  1129. </member>
  1130. <member name="M:log4net.Appender.AppenderCollection.#ctor(System.Collections.ICollection)">
  1131. <summary>
  1132. Initializes a new instance of the <c>AppenderCollection</c> class
  1133. that contains elements copied from the specified <see cref="T:log4net.Appender.IAppender"/> collection.
  1134. </summary>
  1135. <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements are copied to the new list.</param>
  1136. </member>
  1137. <member name="T:log4net.Appender.AppenderCollection.Tag">
  1138. <summary>
  1139. Type visible only to our subclasses
  1140. Used to access protected constructor
  1141. </summary>
  1142. <exclude/>
  1143. </member>
  1144. <member name="F:log4net.Appender.AppenderCollection.Tag.Default">
  1145. <summary>
  1146. A value
  1147. </summary>
  1148. </member>
  1149. <member name="M:log4net.Appender.AppenderCollection.#ctor(log4net.Appender.AppenderCollection.Tag)">
  1150. <summary>
  1151. Allow subclasses to avoid our default constructors
  1152. </summary>
  1153. <param name="tag"></param>
  1154. <exclude/>
  1155. </member>
  1156. <member name="P:log4net.Appender.AppenderCollection.Count">
  1157. <summary>
  1158. Gets the number of elements actually contained in the <c>AppenderCollection</c>.
  1159. </summary>
  1160. </member>
  1161. <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[])">
  1162. <summary>
  1163. Copies the entire <c>AppenderCollection</c> to a one-dimensional
  1164. <see cref="T:log4net.Appender.IAppender"/> array.
  1165. </summary>
  1166. <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
  1167. </member>
  1168. <member name="M:log4net.Appender.AppenderCollection.CopyTo(log4net.Appender.IAppender[],System.Int32)">
  1169. <summary>
  1170. Copies the entire <c>AppenderCollection</c> to a one-dimensional
  1171. <see cref="T:log4net.Appender.IAppender"/> array, starting at the specified index of the target array.
  1172. </summary>
  1173. <param name="array">The one-dimensional <see cref="T:log4net.Appender.IAppender"/> array to copy to.</param>
  1174. <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
  1175. </member>
  1176. <member name="P:log4net.Appender.AppenderCollection.IsSynchronized">
  1177. <summary>
  1178. Gets a value indicating whether access to the collection is synchronized (thread-safe).
  1179. </summary>
  1180. <returns>false, because the backing type is an array, which is never thread-safe.</returns>
  1181. </member>
  1182. <member name="P:log4net.Appender.AppenderCollection.SyncRoot">
  1183. <summary>
  1184. Gets an object that can be used to synchronize access to the collection.
  1185. </summary>
  1186. </member>
  1187. <member name="P:log4net.Appender.AppenderCollection.Item(System.Int32)">
  1188. <summary>
  1189. Gets or sets the <see cref="T:log4net.Appender.IAppender"/> at the specified index.
  1190. </summary>
  1191. <param name="index">The zero-based index of the element to get or set.</param>
  1192. <exception cref="T:System.ArgumentOutOfRangeException">
  1193. <para><paramref name="index"/> is less than zero</para>
  1194. <para>-or-</para>
  1195. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
  1196. </exception>
  1197. </member>
  1198. <member name="M:log4net.Appender.AppenderCollection.Add(log4net.Appender.IAppender)">
  1199. <summary>
  1200. Adds a <see cref="T:log4net.Appender.IAppender"/> to the end of the <c>AppenderCollection</c>.
  1201. </summary>
  1202. <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to be added to the end of the <c>AppenderCollection</c>.</param>
  1203. <returns>The index at which the value has been added.</returns>
  1204. </member>
  1205. <member name="M:log4net.Appender.AppenderCollection.Clear">
  1206. <summary>
  1207. Removes all elements from the <c>AppenderCollection</c>.
  1208. </summary>
  1209. </member>
  1210. <member name="M:log4net.Appender.AppenderCollection.Clone">
  1211. <summary>
  1212. Creates a shallow copy of the <see cref="T:log4net.Appender.AppenderCollection"/>.
  1213. </summary>
  1214. <returns>A new <see cref="T:log4net.Appender.AppenderCollection"/> with a shallow copy of the collection data.</returns>
  1215. </member>
  1216. <member name="M:log4net.Appender.AppenderCollection.Contains(log4net.Appender.IAppender)">
  1217. <summary>
  1218. Determines whether a given <see cref="T:log4net.Appender.IAppender"/> is in the <c>AppenderCollection</c>.
  1219. </summary>
  1220. <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to check for.</param>
  1221. <returns><c>true</c> if <paramref name="item"/> is found in the <c>AppenderCollection</c>; otherwise, <c>false</c>.</returns>
  1222. </member>
  1223. <member name="M:log4net.Appender.AppenderCollection.IndexOf(log4net.Appender.IAppender)">
  1224. <summary>
  1225. Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Appender.IAppender"/>
  1226. in the <c>AppenderCollection</c>.
  1227. </summary>
  1228. <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to locate in the <c>AppenderCollection</c>.</param>
  1229. <returns>
  1230. The zero-based index of the first occurrence of <paramref name="item"/>
  1231. in the entire <c>AppenderCollection</c>, if found; otherwise, -1.
  1232. </returns>
  1233. </member>
  1234. <member name="M:log4net.Appender.AppenderCollection.Insert(System.Int32,log4net.Appender.IAppender)">
  1235. <summary>
  1236. Inserts an element into the <c>AppenderCollection</c> at the specified index.
  1237. </summary>
  1238. <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
  1239. <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to insert.</param>
  1240. <exception cref="T:System.ArgumentOutOfRangeException">
  1241. <para><paramref name="index"/> is less than zero</para>
  1242. <para>-or-</para>
  1243. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
  1244. </exception>
  1245. </member>
  1246. <member name="M:log4net.Appender.AppenderCollection.Remove(log4net.Appender.IAppender)">
  1247. <summary>
  1248. Removes the first occurrence of a specific <see cref="T:log4net.Appender.IAppender"/> from the <c>AppenderCollection</c>.
  1249. </summary>
  1250. <param name="item">The <see cref="T:log4net.Appender.IAppender"/> to remove from the <c>AppenderCollection</c>.</param>
  1251. <exception cref="T:System.ArgumentException">
  1252. The specified <see cref="T:log4net.Appender.IAppender"/> was not found in the <c>AppenderCollection</c>.
  1253. </exception>
  1254. </member>
  1255. <member name="M:log4net.Appender.AppenderCollection.RemoveAt(System.Int32)">
  1256. <summary>
  1257. Removes the element at the specified index of the <c>AppenderCollection</c>.
  1258. </summary>
  1259. <param name="index">The zero-based index of the element to remove.</param>
  1260. <exception cref="T:System.ArgumentOutOfRangeException">
  1261. <para><paramref name="index"/> is less than zero</para>
  1262. <para>-or-</para>
  1263. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
  1264. </exception>
  1265. </member>
  1266. <member name="P:log4net.Appender.AppenderCollection.IsFixedSize">
  1267. <summary>
  1268. Gets a value indicating whether the collection has a fixed size.
  1269. </summary>
  1270. <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
  1271. </member>
  1272. <member name="P:log4net.Appender.AppenderCollection.IsReadOnly">
  1273. <summary>
  1274. Gets a value indicating whether the IList is read-only.
  1275. </summary>
  1276. <value>true if the collection is read-only; otherwise, false. The default is false</value>
  1277. </member>
  1278. <member name="M:log4net.Appender.AppenderCollection.GetEnumerator">
  1279. <summary>
  1280. Returns an enumerator that can iterate through the <c>AppenderCollection</c>.
  1281. </summary>
  1282. <returns>An <see cref="T:log4net.Appender.AppenderCollection.Enumerator"/> for the entire <c>AppenderCollection</c>.</returns>
  1283. </member>
  1284. <member name="P:log4net.Appender.AppenderCollection.Capacity">
  1285. <summary>
  1286. Gets or sets the number of elements the <c>AppenderCollection</c> can contain.
  1287. </summary>
  1288. </member>
  1289. <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.AppenderCollection)">
  1290. <summary>
  1291. Adds the elements of another <c>AppenderCollection</c> to the current <c>AppenderCollection</c>.
  1292. </summary>
  1293. <param name="x">The <c>AppenderCollection</c> whose elements should be added to the end of the current <c>AppenderCollection</c>.</param>
  1294. <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
  1295. </member>
  1296. <member name="M:log4net.Appender.AppenderCollection.AddRange(log4net.Appender.IAppender[])">
  1297. <summary>
  1298. Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> array to the current <c>AppenderCollection</c>.
  1299. </summary>
  1300. <param name="x">The <see cref="T:log4net.Appender.IAppender"/> array whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
  1301. <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
  1302. </member>
  1303. <member name="M:log4net.Appender.AppenderCollection.AddRange(System.Collections.ICollection)">
  1304. <summary>
  1305. Adds the elements of a <see cref="T:log4net.Appender.IAppender"/> collection to the current <c>AppenderCollection</c>.
  1306. </summary>
  1307. <param name="col">The <see cref="T:log4net.Appender.IAppender"/> collection whose elements should be added to the end of the <c>AppenderCollection</c>.</param>
  1308. <returns>The new <see cref="P:log4net.Appender.AppenderCollection.Count"/> of the <c>AppenderCollection</c>.</returns>
  1309. </member>
  1310. <member name="M:log4net.Appender.AppenderCollection.TrimToSize">
  1311. <summary>
  1312. Sets the capacity to the actual number of elements.
  1313. </summary>
  1314. </member>
  1315. <member name="M:log4net.Appender.AppenderCollection.ToArray">
  1316. <summary>
  1317. Return the collection elements as an array
  1318. </summary>
  1319. <returns>the array</returns>
  1320. </member>
  1321. <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32)">
  1322. <exception cref="T:System.ArgumentOutOfRangeException">
  1323. <para><paramref name="i"/> is less than zero</para>
  1324. <para>-or-</para>
  1325. <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
  1326. </exception>
  1327. </member>
  1328. <member name="M:log4net.Appender.AppenderCollection.ValidateIndex(System.Int32,System.Boolean)">
  1329. <exception cref="T:System.ArgumentOutOfRangeException">
  1330. <para><paramref name="i"/> is less than zero</para>
  1331. <para>-or-</para>
  1332. <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Appender.AppenderCollection.Count"/>.</para>
  1333. </exception>
  1334. </member>
  1335. <member name="T:log4net.Appender.AppenderCollection.Enumerator">
  1336. <summary>
  1337. Supports simple iteration over a <see cref="T:log4net.Appender.AppenderCollection"/>.
  1338. </summary>
  1339. <exclude/>
  1340. </member>
  1341. <member name="M:log4net.Appender.AppenderCollection.Enumerator.#ctor(log4net.Appender.AppenderCollection)">
  1342. <summary>
  1343. Initializes a new instance of the <c>Enumerator</c> class.
  1344. </summary>
  1345. <param name="tc"></param>
  1346. </member>
  1347. <member name="P:log4net.Appender.AppenderCollection.Enumerator.Current">
  1348. <summary>
  1349. Gets the current element in the collection.
  1350. </summary>
  1351. </member>
  1352. <member name="M:log4net.Appender.AppenderCollection.Enumerator.MoveNext">
  1353. <summary>
  1354. Advances the enumerator to the next element in the collection.
  1355. </summary>
  1356. <returns>
  1357. <c>true</c> if the enumerator was successfully advanced to the next element;
  1358. <c>false</c> if the enumerator has passed the end of the collection.
  1359. </returns>
  1360. <exception cref="T:System.InvalidOperationException">
  1361. The collection was modified after the enumerator was created.
  1362. </exception>
  1363. </member>
  1364. <member name="M:log4net.Appender.AppenderCollection.Enumerator.Reset">
  1365. <summary>
  1366. Sets the enumerator to its initial position, before the first element in the collection.
  1367. </summary>
  1368. </member>
  1369. <member name="T:log4net.Appender.AppenderCollection.ReadOnlyAppenderCollection">
  1370. <exclude/>
  1371. </member>
  1372. <member name="T:log4net.Appender.AppenderSkeleton">
  1373. <summary>
  1374. Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/>.
  1375. </summary>
  1376. <remarks>
  1377. <para>
  1378. This class provides the code for common functionality, such
  1379. as support for threshold filtering and support for general filters.
  1380. </para>
  1381. <para>
  1382. Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
  1383. they would require that the <see cref="M:IOptionHandler.ActivateOptions()"/> method
  1384. be called after the appenders properties have been configured.
  1385. </para>
  1386. </remarks>
  1387. <author>Nicko Cadell</author>
  1388. <author>Gert Driesen</author>
  1389. </member>
  1390. <member name="M:log4net.Appender.AppenderSkeleton.#ctor">
  1391. <summary>
  1392. Default constructor
  1393. </summary>
  1394. <remarks>
  1395. <para>Empty default constructor</para>
  1396. </remarks>
  1397. </member>
  1398. <member name="M:log4net.Appender.AppenderSkeleton.Finalize">
  1399. <summary>
  1400. Finalizes this appender by calling the implementation's
  1401. <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> method.
  1402. </summary>
  1403. <remarks>
  1404. <para>
  1405. If this appender has not been closed then the <c>Finalize</c> method
  1406. will call <see cref="M:log4net.Appender.AppenderSkeleton.Close"/>.
  1407. </para>
  1408. </remarks>
  1409. </member>
  1410. <member name="P:log4net.Appender.AppenderSkeleton.Threshold">
  1411. <summary>
  1412. Gets or sets the threshold <see cref="T:log4net.Core.Level"/> of this appender.
  1413. </summary>
  1414. <value>
  1415. The threshold <see cref="T:log4net.Core.Level"/> of the appender.
  1416. </value>
  1417. <remarks>
  1418. <para>
  1419. All log events with lower level than the threshold level are ignored
  1420. by the appender.
  1421. </para>
  1422. <para>
  1423. In configuration files this option is specified by setting the
  1424. value of the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> option to a level
  1425. string, such as "DEBUG", "INFO" and so on.
  1426. </para>
  1427. </remarks>
  1428. </member>
  1429. <member name="P:log4net.Appender.AppenderSkeleton.ErrorHandler">
  1430. <summary>
  1431. Gets or sets the <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
  1432. </summary>
  1433. <value>The <see cref="T:log4net.Core.IErrorHandler"/> of the appender</value>
  1434. <remarks>
  1435. <para>
  1436. The <see cref="T:log4net.Appender.AppenderSkeleton"/> provides a default
  1437. implementation for the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> property.
  1438. </para>
  1439. </remarks>
  1440. </member>
  1441. <member name="P:log4net.Appender.AppenderSkeleton.FilterHead">
  1442. <summary>
  1443. The filter chain.
  1444. </summary>
  1445. <value>The head of the filter chain filter chain.</value>
  1446. <remarks>
  1447. <para>
  1448. Returns the head Filter. The Filters are organized in a linked list
  1449. and so all Filters on this Appender are available through the result.
  1450. </para>
  1451. </remarks>
  1452. </member>
  1453. <member name="P:log4net.Appender.AppenderSkeleton.Layout">
  1454. <summary>
  1455. Gets or sets the <see cref="T:log4net.Layout.ILayout"/> for this appender.
  1456. </summary>
  1457. <value>The layout of the appender.</value>
  1458. <remarks>
  1459. <para>
  1460. See <see cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/> for more information.
  1461. </para>
  1462. </remarks>
  1463. <seealso cref="P:log4net.Appender.AppenderSkeleton.RequiresLayout"/>
  1464. </member>
  1465. <member name="M:log4net.Appender.AppenderSkeleton.ActivateOptions">
  1466. <summary>
  1467. Initialize the appender based on the options set
  1468. </summary>
  1469. <remarks>
  1470. <para>
  1471. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  1472. activation scheme. The <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> method must
  1473. be called on this object after the configuration properties have
  1474. been set. Until <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> is called this
  1475. object is in an undefined state and must not be used.
  1476. </para>
  1477. <para>
  1478. If any of the configuration properties are modified then
  1479. <see cref="M:log4net.Appender.AppenderSkeleton.ActivateOptions"/> must be called again.
  1480. </para>
  1481. </remarks>
  1482. </member>
  1483. <member name="P:log4net.Appender.AppenderSkeleton.Name">
  1484. <summary>
  1485. Gets or sets the name of this appender.
  1486. </summary>
  1487. <value>The name of the appender.</value>
  1488. <remarks>
  1489. <para>
  1490. The name uniquely identifies the appender.
  1491. </para>
  1492. </remarks>
  1493. </member>
  1494. <member name="M:log4net.Appender.AppenderSkeleton.Close">
  1495. <summary>
  1496. Closes the appender and release resources.
  1497. </summary>
  1498. <remarks>
  1499. <para>
  1500. Release any resources allocated within the appender such as file handles,
  1501. network connections, etc.
  1502. </para>
  1503. <para>
  1504. It is a programming error to append to a closed appender.
  1505. </para>
  1506. <para>
  1507. This method cannot be overridden by subclasses. This method
  1508. delegates the closing of the appender to the <see cref="M:log4net.Appender.AppenderSkeleton.OnClose"/>
  1509. method which must be overridden in the subclass.
  1510. </para>
  1511. </remarks>
  1512. </member>
  1513. <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)">
  1514. <summary>
  1515. Performs threshold checks and invokes filters before
  1516. delegating actual logging to the subclasses specific
  1517. <see cref="M:Append(LoggingEvent)"/> method.
  1518. </summary>
  1519. <param name="loggingEvent">The event to log.</param>
  1520. <remarks>
  1521. <para>
  1522. This method cannot be overridden by derived classes. A
  1523. derived class should override the <see cref="M:Append(LoggingEvent)"/> method
  1524. which is called by this method.
  1525. </para>
  1526. <para>
  1527. The implementation of this method is as follows:
  1528. </para>
  1529. <para>
  1530. <list type="bullet">
  1531. <item>
  1532. <description>
  1533. Checks that the severity of the <paramref name="loggingEvent"/>
  1534. is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
  1535. appender.</description>
  1536. </item>
  1537. <item>
  1538. <description>
  1539. Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
  1540. <paramref name="loggingEvent"/>.
  1541. </description>
  1542. </item>
  1543. <item>
  1544. <description>
  1545. Calls <see cref="M:PreAppendCheck()"/> and checks that
  1546. it returns <c>true</c>.</description>
  1547. </item>
  1548. </list>
  1549. </para>
  1550. <para>
  1551. If all of the above steps succeed then the <paramref name="loggingEvent"/>
  1552. will be passed to the abstract <see cref="M:Append(LoggingEvent)"/> method.
  1553. </para>
  1554. </remarks>
  1555. </member>
  1556. <member name="M:log4net.Appender.AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent[])">
  1557. <summary>
  1558. Performs threshold checks and invokes filters before
  1559. delegating actual logging to the subclasses specific
  1560. <see cref="M:Append(LoggingEvent[])"/> method.
  1561. </summary>
  1562. <param name="loggingEvents">The array of events to log.</param>
  1563. <remarks>
  1564. <para>
  1565. This method cannot be overridden by derived classes. A
  1566. derived class should override the <see cref="M:Append(LoggingEvent[])"/> method
  1567. which is called by this method.
  1568. </para>
  1569. <para>
  1570. The implementation of this method is as follows:
  1571. </para>
  1572. <para>
  1573. <list type="bullet">
  1574. <item>
  1575. <description>
  1576. Checks that the severity of the <paramref name="loggingEvents"/>
  1577. is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
  1578. appender.</description>
  1579. </item>
  1580. <item>
  1581. <description>
  1582. Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
  1583. <paramref name="loggingEvents"/>.
  1584. </description>
  1585. </item>
  1586. <item>
  1587. <description>
  1588. Calls <see cref="M:PreAppendCheck()"/> and checks that
  1589. it returns <c>true</c>.</description>
  1590. </item>
  1591. </list>
  1592. </para>
  1593. <para>
  1594. If all of the above steps succeed then the <paramref name="loggingEvents"/>
  1595. will be passed to the <see cref="M:Append(LoggingEvent[])"/> method.
  1596. </para>
  1597. </remarks>
  1598. </member>
  1599. <member name="M:log4net.Appender.AppenderSkeleton.FilterEvent(log4net.Core.LoggingEvent)">
  1600. <summary>
  1601. Test if the logging event should we output by this appender
  1602. </summary>
  1603. <param name="loggingEvent">the event to test</param>
  1604. <returns><c>true</c> if the event should be output, <c>false</c> if the event should be ignored</returns>
  1605. <remarks>
  1606. <para>
  1607. This method checks the logging event against the threshold level set
  1608. on this appender and also against the filters specified on this
  1609. appender.
  1610. </para>
  1611. <para>
  1612. The implementation of this method is as follows:
  1613. </para>
  1614. <para>
  1615. <list type="bullet">
  1616. <item>
  1617. <description>
  1618. Checks that the severity of the <paramref name="loggingEvent"/>
  1619. is greater than or equal to the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> of this
  1620. appender.</description>
  1621. </item>
  1622. <item>
  1623. <description>
  1624. Checks that the <see cref="T:log4net.Filter.IFilter"/> chain accepts the
  1625. <paramref name="loggingEvent"/>.
  1626. </description>
  1627. </item>
  1628. </list>
  1629. </para>
  1630. </remarks>
  1631. </member>
  1632. <member name="M:log4net.Appender.AppenderSkeleton.AddFilter(log4net.Filter.IFilter)">
  1633. <summary>
  1634. Adds a filter to the end of the filter chain.
  1635. </summary>
  1636. <param name="filter">the filter to add to this appender</param>
  1637. <remarks>
  1638. <para>
  1639. The Filters are organized in a linked list.
  1640. </para>
  1641. <para>
  1642. Setting this property causes the new filter to be pushed onto the
  1643. back of the filter chain.
  1644. </para>
  1645. </remarks>
  1646. </member>
  1647. <member name="M:log4net.Appender.AppenderSkeleton.ClearFilters">
  1648. <summary>
  1649. Clears the filter list for this appender.
  1650. </summary>
  1651. <remarks>
  1652. <para>
  1653. Clears the filter list for this appender.
  1654. </para>
  1655. </remarks>
  1656. </member>
  1657. <member name="M:log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold(log4net.Core.Level)">
  1658. <summary>
  1659. Checks if the message level is below this appender's threshold.
  1660. </summary>
  1661. <param name="level"><see cref="T:log4net.Core.Level"/> to test against.</param>
  1662. <remarks>
  1663. <para>
  1664. If there is no threshold set, then the return value is always <c>true</c>.
  1665. </para>
  1666. </remarks>
  1667. <returns>
  1668. <c>true</c> if the <paramref name="level"/> meets the <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/>
  1669. requirements of this appender.
  1670. </returns>
  1671. </member>
  1672. <member name="M:log4net.Appender.AppenderSkeleton.OnClose">
  1673. <summary>
  1674. Is called when the appender is closed. Derived classes should override
  1675. this method if resources need to be released.
  1676. </summary>
  1677. <remarks>
  1678. <para>
  1679. Releases any resources allocated within the appender such as file handles,
  1680. network connections, etc.
  1681. </para>
  1682. <para>
  1683. It is a programming error to append to a closed appender.
  1684. </para>
  1685. </remarks>
  1686. </member>
  1687. <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent)">
  1688. <summary>
  1689. Subclasses of <see cref="T:log4net.Appender.AppenderSkeleton"/> should implement this method
  1690. to perform actual logging.
  1691. </summary>
  1692. <param name="loggingEvent">The event to append.</param>
  1693. <remarks>
  1694. <para>
  1695. A subclass must implement this method to perform
  1696. logging of the <paramref name="loggingEvent"/>.
  1697. </para>
  1698. <para>This method will be called by <see cref="M:DoAppend(LoggingEvent)"/>
  1699. if all the conditions listed for that method are met.
  1700. </para>
  1701. <para>
  1702. To restrict the logging of events in the appender
  1703. override the <see cref="M:PreAppendCheck()"/> method.
  1704. </para>
  1705. </remarks>
  1706. </member>
  1707. <member name="M:log4net.Appender.AppenderSkeleton.Append(log4net.Core.LoggingEvent[])">
  1708. <summary>
  1709. Append a bulk array of logging events.
  1710. </summary>
  1711. <param name="loggingEvents">the array of logging events</param>
  1712. <remarks>
  1713. <para>
  1714. This base class implementation calls the <see cref="M:Append(LoggingEvent)"/>
  1715. method for each element in the bulk array.
  1716. </para>
  1717. <para>
  1718. A sub class that can better process a bulk array of events should
  1719. override this method in addition to <see cref="M:Append(LoggingEvent)"/>.
  1720. </para>
  1721. </remarks>
  1722. </member>
  1723. <member name="M:log4net.Appender.AppenderSkeleton.PreAppendCheck">
  1724. <summary>
  1725. Called before <see cref="M:Append(LoggingEvent)"/> as a precondition.
  1726. </summary>
  1727. <remarks>
  1728. <para>
  1729. This method is called by <see cref="M:DoAppend(LoggingEvent)"/>
  1730. before the call to the abstract <see cref="M:Append(LoggingEvent)"/> method.
  1731. </para>
  1732. <para>
  1733. This method can be overridden in a subclass to extend the checks
  1734. made before the event is passed to the <see cref="M:Append(LoggingEvent)"/> method.
  1735. </para>
  1736. <para>
  1737. A subclass should ensure that they delegate this call to
  1738. this base class if it is overridden.
  1739. </para>
  1740. </remarks>
  1741. <returns><c>true</c> if the call to <see cref="M:Append(LoggingEvent)"/> should proceed.</returns>
  1742. </member>
  1743. <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(log4net.Core.LoggingEvent)">
  1744. <summary>
  1745. Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
  1746. </summary>
  1747. <param name="loggingEvent">The event to render.</param>
  1748. <returns>The event rendered as a string.</returns>
  1749. <remarks>
  1750. <para>
  1751. Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to
  1752. a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
  1753. set to render the <paramref name="loggingEvent"/> to
  1754. a string.
  1755. </para>
  1756. <para>If there is exception data in the logging event and
  1757. the layout does not process the exception, this method
  1758. will append the exception text to the rendered string.
  1759. </para>
  1760. <para>
  1761. Where possible use the alternative version of this method
  1762. <see cref="M:RenderLoggingEvent(TextWriter,LoggingEvent)"/>.
  1763. That method streams the rendering onto an existing Writer
  1764. which can give better performance if the caller already has
  1765. a <see cref="T:System.IO.TextWriter"/> open and ready for writing.
  1766. </para>
  1767. </remarks>
  1768. </member>
  1769. <member name="M:log4net.Appender.AppenderSkeleton.RenderLoggingEvent(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  1770. <summary>
  1771. Renders the <see cref="T:log4net.Core.LoggingEvent"/> to a string.
  1772. </summary>
  1773. <param name="loggingEvent">The event to render.</param>
  1774. <param name="writer">The TextWriter to write the formatted event to</param>
  1775. <remarks>
  1776. <para>
  1777. Helper method to render a <see cref="T:log4net.Core.LoggingEvent"/> to
  1778. a string. This appender must have a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/>
  1779. set to render the <paramref name="loggingEvent"/> to
  1780. a string.
  1781. </para>
  1782. <para>If there is exception data in the logging event and
  1783. the layout does not process the exception, this method
  1784. will append the exception text to the rendered string.
  1785. </para>
  1786. <para>
  1787. Use this method in preference to <see cref="M:RenderLoggingEvent(LoggingEvent)"/>
  1788. where possible. If, however, the caller needs to render the event
  1789. to a string then <see cref="M:RenderLoggingEvent(LoggingEvent)"/> does
  1790. provide an efficient mechanism for doing so.
  1791. </para>
  1792. </remarks>
  1793. </member>
  1794. <member name="P:log4net.Appender.AppenderSkeleton.RequiresLayout">
  1795. <summary>
  1796. Tests if this appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
  1797. </summary>
  1798. <remarks>
  1799. <para>
  1800. In the rather exceptional case, where the appender
  1801. implementation admits a layout but can also work without it,
  1802. then the appender should return <c>true</c>.
  1803. </para>
  1804. <para>
  1805. This default implementation always returns <c>false</c>.
  1806. </para>
  1807. </remarks>
  1808. <returns>
  1809. <c>true</c> if the appender requires a layout object, otherwise <c>false</c>.
  1810. </returns>
  1811. </member>
  1812. <member name="M:log4net.Appender.AppenderSkeleton.Flush(System.Int32)">
  1813. <summary>
  1814. Flushes any buffered log data.
  1815. </summary>
  1816. <remarks>
  1817. This implementation doesn't flush anything and always returns true
  1818. </remarks>
  1819. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  1820. </member>
  1821. <member name="F:log4net.Appender.AppenderSkeleton.m_layout">
  1822. <summary>
  1823. The layout of this appender.
  1824. </summary>
  1825. <remarks>
  1826. See <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> for more information.
  1827. </remarks>
  1828. </member>
  1829. <member name="F:log4net.Appender.AppenderSkeleton.m_name">
  1830. <summary>
  1831. The name of this appender.
  1832. </summary>
  1833. <remarks>
  1834. See <see cref="P:log4net.Appender.AppenderSkeleton.Name"/> for more information.
  1835. </remarks>
  1836. </member>
  1837. <member name="F:log4net.Appender.AppenderSkeleton.m_threshold">
  1838. <summary>
  1839. The level threshold of this appender.
  1840. </summary>
  1841. <remarks>
  1842. <para>
  1843. There is no level threshold filtering by default.
  1844. </para>
  1845. <para>
  1846. See <see cref="P:log4net.Appender.AppenderSkeleton.Threshold"/> for more information.
  1847. </para>
  1848. </remarks>
  1849. </member>
  1850. <member name="F:log4net.Appender.AppenderSkeleton.m_errorHandler">
  1851. <summary>
  1852. It is assumed and enforced that errorHandler is never null.
  1853. </summary>
  1854. <remarks>
  1855. <para>
  1856. It is assumed and enforced that errorHandler is never null.
  1857. </para>
  1858. <para>
  1859. See <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/> for more information.
  1860. </para>
  1861. </remarks>
  1862. </member>
  1863. <member name="F:log4net.Appender.AppenderSkeleton.m_headFilter">
  1864. <summary>
  1865. The first filter in the filter chain.
  1866. </summary>
  1867. <remarks>
  1868. <para>
  1869. Set to <c>null</c> initially.
  1870. </para>
  1871. <para>
  1872. See <see cref="T:log4net.Filter.IFilter"/> for more information.
  1873. </para>
  1874. </remarks>
  1875. </member>
  1876. <member name="F:log4net.Appender.AppenderSkeleton.m_tailFilter">
  1877. <summary>
  1878. The last filter in the filter chain.
  1879. </summary>
  1880. <remarks>
  1881. See <see cref="T:log4net.Filter.IFilter"/> for more information.
  1882. </remarks>
  1883. </member>
  1884. <member name="F:log4net.Appender.AppenderSkeleton.m_closed">
  1885. <summary>
  1886. Flag indicating if this appender is closed.
  1887. </summary>
  1888. <remarks>
  1889. See <see cref="M:log4net.Appender.AppenderSkeleton.Close"/> for more information.
  1890. </remarks>
  1891. </member>
  1892. <member name="F:log4net.Appender.AppenderSkeleton.m_recursiveGuard">
  1893. <summary>
  1894. The guard prevents an appender from repeatedly calling its own DoAppend method
  1895. </summary>
  1896. </member>
  1897. <member name="F:log4net.Appender.AppenderSkeleton.m_renderWriter">
  1898. <summary>
  1899. StringWriter used to render events
  1900. </summary>
  1901. </member>
  1902. <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferSize">
  1903. <summary>
  1904. Initial buffer size
  1905. </summary>
  1906. </member>
  1907. <member name="F:log4net.Appender.AppenderSkeleton.c_renderBufferMaxCapacity">
  1908. <summary>
  1909. Maximum buffer size before it is recycled
  1910. </summary>
  1911. </member>
  1912. <member name="F:log4net.Appender.AppenderSkeleton.declaringType">
  1913. <summary>
  1914. The fully qualified type of the AppenderSkeleton class.
  1915. </summary>
  1916. <remarks>
  1917. Used by the internal logger to record the Type of the
  1918. log message.
  1919. </remarks>
  1920. </member>
  1921. <member name="T:log4net.Appender.AspNetTraceAppender">
  1922. <summary>
  1923. <para>
  1924. Appends log events to the ASP.NET <see cref="T:System.Web.TraceContext"/> system.
  1925. </para>
  1926. </summary>
  1927. <remarks>
  1928. <para>
  1929. Diagnostic information and tracing messages that you specify are appended to the output
  1930. of the page that is sent to the requesting browser. Optionally, you can view this information
  1931. from a separate trace viewer (Trace.axd) that displays trace information for every page in a
  1932. given application.
  1933. </para>
  1934. <para>
  1935. Trace statements are processed and displayed only when tracing is enabled. You can control
  1936. whether tracing is displayed to a page, to the trace viewer, or both.
  1937. </para>
  1938. <para>
  1939. The logging event is passed to the <see cref="M:TraceContext.Write(string)"/> or
  1940. <see cref="M:TraceContext.Warn(string)"/> method depending on the level of the logging event.
  1941. The event's logger name is the default value for the category parameter of the Write/Warn method.
  1942. </para>
  1943. </remarks>
  1944. <author>Nicko Cadell</author>
  1945. <author>Gert Driesen</author>
  1946. <author>Ron Grabowski</author>
  1947. </member>
  1948. <member name="M:log4net.Appender.AspNetTraceAppender.#ctor">
  1949. <summary>
  1950. Initializes a new instance of the <see cref="T:log4net.Appender.AspNetTraceAppender" /> class.
  1951. </summary>
  1952. <remarks>
  1953. <para>
  1954. Default constructor.
  1955. </para>
  1956. </remarks>
  1957. </member>
  1958. <member name="M:log4net.Appender.AspNetTraceAppender.Append(log4net.Core.LoggingEvent)">
  1959. <summary>
  1960. Write the logging event to the ASP.NET trace
  1961. </summary>
  1962. <param name="loggingEvent">the event to log</param>
  1963. <remarks>
  1964. <para>
  1965. Write the logging event to the ASP.NET trace
  1966. <c>HttpContext.Current.Trace</c>
  1967. (<see cref="T:System.Web.TraceContext"/>).
  1968. </para>
  1969. </remarks>
  1970. </member>
  1971. <member name="P:log4net.Appender.AspNetTraceAppender.RequiresLayout">
  1972. <summary>
  1973. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  1974. </summary>
  1975. <value><c>true</c></value>
  1976. <remarks>
  1977. <para>
  1978. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  1979. </para>
  1980. </remarks>
  1981. </member>
  1982. <member name="P:log4net.Appender.AspNetTraceAppender.Category">
  1983. <summary>
  1984. The category parameter sent to the Trace method.
  1985. </summary>
  1986. <remarks>
  1987. <para>
  1988. Defaults to %logger which will use the logger name of the current
  1989. <see cref="T:log4net.Core.LoggingEvent"/> as the category parameter.
  1990. </para>
  1991. <para>
  1992. </para>
  1993. </remarks>
  1994. </member>
  1995. <member name="F:log4net.Appender.AspNetTraceAppender.m_category">
  1996. <summary>
  1997. Defaults to %logger
  1998. </summary>
  1999. </member>
  2000. <member name="T:log4net.Appender.BufferingAppenderSkeleton">
  2001. <summary>
  2002. Abstract base class implementation of <see cref="T:log4net.Appender.IAppender"/> that
  2003. buffers events in a fixed size buffer.
  2004. </summary>
  2005. <remarks>
  2006. <para>
  2007. This base class should be used by appenders that need to buffer a
  2008. number of events before logging them.
  2009. For example the <see cref="T:log4net.Appender.AdoNetAppender"/>
  2010. buffers events and then submits the entire contents of the buffer to
  2011. the underlying database in one go.
  2012. </para>
  2013. <para>
  2014. Subclasses should override the <see cref="M:SendBuffer(LoggingEvent[])"/>
  2015. method to deliver the buffered events.
  2016. </para>
  2017. <para>The BufferingAppenderSkeleton maintains a fixed size cyclic
  2018. buffer of events. The size of the buffer is set using
  2019. the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> property.
  2020. </para>
  2021. <para>A <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> is used to inspect
  2022. each event as it arrives in the appender. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
  2023. triggers, then the current buffer is sent immediately
  2024. (see <see cref="M:SendBuffer(LoggingEvent[])"/>). Otherwise the event
  2025. is stored in the buffer. For example, an evaluator can be used to
  2026. deliver the events immediately when an ERROR event arrives.
  2027. </para>
  2028. <para>
  2029. The buffering appender can be configured in a <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode.
  2030. By default the appender is NOT lossy. When the buffer is full all
  2031. the buffered events are sent with <see cref="M:SendBuffer(LoggingEvent[])"/>.
  2032. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property is set to <c>true</c> then the
  2033. buffer will not be sent when it is full, and new events arriving
  2034. in the appender will overwrite the oldest event in the buffer.
  2035. In lossy mode the buffer will only be sent when the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/>
  2036. triggers. This can be useful behavior when you need to know about
  2037. ERROR events but not about events with a lower level, configure an
  2038. evaluator that will trigger when an ERROR event arrives, the whole
  2039. buffer will be sent which gives a history of events leading up to
  2040. the ERROR event.
  2041. </para>
  2042. </remarks>
  2043. <author>Nicko Cadell</author>
  2044. <author>Gert Driesen</author>
  2045. </member>
  2046. <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor">
  2047. <summary>
  2048. Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton" /> class.
  2049. </summary>
  2050. <remarks>
  2051. <para>
  2052. Protected default constructor to allow subclassing.
  2053. </para>
  2054. </remarks>
  2055. </member>
  2056. <member name="M:log4net.Appender.BufferingAppenderSkeleton.#ctor(System.Boolean)">
  2057. <summary>
  2058. Initializes a new instance of the <see cref="T:log4net.Appender.BufferingAppenderSkeleton" /> class.
  2059. </summary>
  2060. <param name="eventMustBeFixed">the events passed through this appender must be
  2061. fixed by the time that they arrive in the derived class' <c>SendBuffer</c> method.</param>
  2062. <remarks>
  2063. <para>
  2064. Protected constructor to allow subclassing.
  2065. </para>
  2066. <para>
  2067. The <paramref name="eventMustBeFixed"/> should be set if the subclass
  2068. expects the events delivered to be fixed even if the
  2069. <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to zero, i.e. when no buffering occurs.
  2070. </para>
  2071. </remarks>
  2072. </member>
  2073. <member name="P:log4net.Appender.BufferingAppenderSkeleton.Lossy">
  2074. <summary>
  2075. Gets or sets a value that indicates whether the appender is lossy.
  2076. </summary>
  2077. <value>
  2078. <c>true</c> if the appender is lossy, otherwise <c>false</c>. The default is <c>false</c>.
  2079. </value>
  2080. <remarks>
  2081. <para>
  2082. This appender uses a buffer to store logging events before
  2083. delivering them. A triggering event causes the whole buffer
  2084. to be send to the remote sink. If the buffer overruns before
  2085. a triggering event then logging events could be lost. Set
  2086. <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> to <c>false</c> to prevent logging events
  2087. from being lost.
  2088. </para>
  2089. <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
  2090. <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
  2091. </remarks>
  2092. </member>
  2093. <member name="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize">
  2094. <summary>
  2095. Gets or sets the size of the cyclic buffer used to hold the
  2096. logging events.
  2097. </summary>
  2098. <value>
  2099. The size of the cyclic buffer used to hold the logging events.
  2100. </value>
  2101. <remarks>
  2102. <para>
  2103. The <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option takes a positive integer
  2104. representing the maximum number of logging events to collect in
  2105. a cyclic buffer. When the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is reached,
  2106. oldest events are deleted as new events are added to the
  2107. buffer. By default the size of the cyclic buffer is 512 events.
  2108. </para>
  2109. <para>
  2110. If the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> is set to a value less than
  2111. or equal to 1 then no buffering will occur. The logging event
  2112. will be delivered synchronously (depending on the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>
  2113. and <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> properties). Otherwise the event will
  2114. be buffered.
  2115. </para>
  2116. </remarks>
  2117. </member>
  2118. <member name="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator">
  2119. <summary>
  2120. Gets or sets the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the
  2121. buffer to be sent immediately.
  2122. </summary>
  2123. <value>
  2124. The <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> that causes the buffer to be
  2125. sent immediately.
  2126. </value>
  2127. <remarks>
  2128. <para>
  2129. The evaluator will be called for each event that is appended to this
  2130. appender. If the evaluator triggers then the current buffer will
  2131. immediately be sent (see <see cref="M:SendBuffer(LoggingEvent[])"/>).
  2132. </para>
  2133. <para>If <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> is set to <c>true</c> then an
  2134. <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be specified.</para>
  2135. </remarks>
  2136. </member>
  2137. <member name="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator">
  2138. <summary>
  2139. Gets or sets the value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
  2140. </summary>
  2141. <value>
  2142. The value of the <see cref="T:log4net.Core.ITriggeringEventEvaluator"/> to use.
  2143. </value>
  2144. <remarks>
  2145. <para>
  2146. The evaluator will be called for each event that is discarded from this
  2147. appender. If the evaluator triggers then the current buffer will immediately
  2148. be sent (see <see cref="M:SendBuffer(LoggingEvent[])"/>).
  2149. </para>
  2150. </remarks>
  2151. </member>
  2152. <member name="P:log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData">
  2153. <summary>
  2154. Gets or sets a value indicating if only part of the logging event data
  2155. should be fixed.
  2156. </summary>
  2157. <value>
  2158. <c>true</c> if the appender should only fix part of the logging event
  2159. data, otherwise <c>false</c>. The default is <c>false</c>.
  2160. </value>
  2161. <remarks>
  2162. <para>
  2163. Setting this property to <c>true</c> will cause only part of the
  2164. event data to be fixed and serialized. This will improve performance.
  2165. </para>
  2166. <para>
  2167. See <see cref="M:LoggingEvent.FixVolatileData(FixFlags)"/> for more information.
  2168. </para>
  2169. </remarks>
  2170. </member>
  2171. <member name="P:log4net.Appender.BufferingAppenderSkeleton.Fix">
  2172. <summary>
  2173. Gets or sets a the fields that will be fixed in the event
  2174. </summary>
  2175. <value>
  2176. The event fields that will be fixed before the event is buffered
  2177. </value>
  2178. <remarks>
  2179. <para>
  2180. The logging event needs to have certain thread specific values
  2181. captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
  2182. for details.
  2183. </para>
  2184. </remarks>
  2185. <seealso cref="P:log4net.Core.LoggingEvent.Fix"/>
  2186. </member>
  2187. <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush(System.Int32)">
  2188. <summary>
  2189. Flushes any buffered log data.
  2190. </summary>
  2191. <param name="millisecondsTimeout">The maximum time to wait for logging events to be flushed.</param>
  2192. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  2193. </member>
  2194. <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush">
  2195. <summary>
  2196. Flush the currently buffered events
  2197. </summary>
  2198. <remarks>
  2199. <para>
  2200. Flushes any events that have been buffered.
  2201. </para>
  2202. <para>
  2203. If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
  2204. of the buffer will NOT be flushed to the appender.
  2205. </para>
  2206. </remarks>
  2207. </member>
  2208. <member name="M:log4net.Appender.BufferingAppenderSkeleton.Flush(System.Boolean)">
  2209. <summary>
  2210. Flush the currently buffered events
  2211. </summary>
  2212. <param name="flushLossyBuffer">set to <c>true</c> to flush the buffer of lossy events</param>
  2213. <remarks>
  2214. <para>
  2215. Flushes events that have been buffered. If <paramref name="flushLossyBuffer" /> is
  2216. <c>false</c> then events will only be flushed if this buffer is non-lossy mode.
  2217. </para>
  2218. <para>
  2219. If the appender is buffering in <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> mode then the contents
  2220. of the buffer will only be flushed if <paramref name="flushLossyBuffer" /> is <c>true</c>.
  2221. In this case the contents of the buffer will be tested against the
  2222. <see cref="P:log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator"/> and if triggering will be output. All other buffered
  2223. events will be discarded.
  2224. </para>
  2225. <para>
  2226. If <paramref name="flushLossyBuffer" /> is <c>true</c> then the buffer will always
  2227. be emptied by calling this method.
  2228. </para>
  2229. </remarks>
  2230. </member>
  2231. <member name="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions">
  2232. <summary>
  2233. Initialize the appender based on the options set
  2234. </summary>
  2235. <remarks>
  2236. <para>
  2237. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  2238. activation scheme. The <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> method must
  2239. be called on this object after the configuration properties have
  2240. been set. Until <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> is called this
  2241. object is in an undefined state and must not be used.
  2242. </para>
  2243. <para>
  2244. If any of the configuration properties are modified then
  2245. <see cref="M:log4net.Appender.BufferingAppenderSkeleton.ActivateOptions"/> must be called again.
  2246. </para>
  2247. </remarks>
  2248. </member>
  2249. <member name="M:log4net.Appender.BufferingAppenderSkeleton.OnClose">
  2250. <summary>
  2251. Close this appender instance.
  2252. </summary>
  2253. <remarks>
  2254. <para>
  2255. Close this appender instance. If this appender is marked
  2256. as not <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> then the remaining events in
  2257. the buffer must be sent when the appender is closed.
  2258. </para>
  2259. </remarks>
  2260. </member>
  2261. <member name="M:log4net.Appender.BufferingAppenderSkeleton.Append(log4net.Core.LoggingEvent)">
  2262. <summary>
  2263. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
  2264. </summary>
  2265. <param name="loggingEvent">the event to log</param>
  2266. <remarks>
  2267. <para>
  2268. Stores the <paramref name="loggingEvent"/> in the cyclic buffer.
  2269. </para>
  2270. <para>
  2271. The buffer will be sent (i.e. passed to the <see cref="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])"/>
  2272. method) if one of the following conditions is met:
  2273. </para>
  2274. <list type="bullet">
  2275. <item>
  2276. <description>The cyclic buffer is full and this appender is
  2277. marked as not lossy (see <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/>)</description>
  2278. </item>
  2279. <item>
  2280. <description>An <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> is set and
  2281. it is triggered for the <paramref name="loggingEvent"/>
  2282. specified.</description>
  2283. </item>
  2284. </list>
  2285. <para>
  2286. Before the event is stored in the buffer it is fixed
  2287. (see <see cref="M:LoggingEvent.FixVolatileData(FixFlags)"/>) to ensure that
  2288. any data referenced by the event will be valid when the buffer
  2289. is processed.
  2290. </para>
  2291. </remarks>
  2292. </member>
  2293. <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer(log4net.Core.LoggingEvent,log4net.Util.CyclicBuffer)">
  2294. <summary>
  2295. Sends the contents of the buffer.
  2296. </summary>
  2297. <param name="firstLoggingEvent">The first logging event.</param>
  2298. <param name="buffer">The buffer containing the events that need to be send.</param>
  2299. <remarks>
  2300. <para>
  2301. The subclass must override <see cref="M:SendBuffer(LoggingEvent[])"/>.
  2302. </para>
  2303. </remarks>
  2304. </member>
  2305. <member name="M:log4net.Appender.BufferingAppenderSkeleton.SendBuffer(log4net.Core.LoggingEvent[])">
  2306. <summary>
  2307. Sends the events.
  2308. </summary>
  2309. <param name="events">The events that need to be send.</param>
  2310. <remarks>
  2311. <para>
  2312. The subclass must override this method to process the buffered events.
  2313. </para>
  2314. </remarks>
  2315. </member>
  2316. <member name="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE">
  2317. <summary>
  2318. The default buffer size.
  2319. </summary>
  2320. <remarks>
  2321. The default size of the cyclic buffer used to store events.
  2322. This is set to 512 by default.
  2323. </remarks>
  2324. </member>
  2325. <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_bufferSize">
  2326. <summary>
  2327. The size of the cyclic buffer used to hold the logging events.
  2328. </summary>
  2329. <remarks>
  2330. Set to <see cref="F:log4net.Appender.BufferingAppenderSkeleton.DEFAULT_BUFFER_SIZE"/> by default.
  2331. </remarks>
  2332. </member>
  2333. <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_cb">
  2334. <summary>
  2335. The cyclic buffer used to store the logging events.
  2336. </summary>
  2337. </member>
  2338. <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_evaluator">
  2339. <summary>
  2340. The triggering event evaluator that causes the buffer to be sent immediately.
  2341. </summary>
  2342. <remarks>
  2343. The object that is used to determine if an event causes the entire
  2344. buffer to be sent immediately. This field can be <c>null</c>, which
  2345. indicates that event triggering is not to be done. The evaluator
  2346. can be set using the <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> property. If this appender
  2347. has the <see cref="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy"/> (<see cref="P:log4net.Appender.BufferingAppenderSkeleton.Lossy"/> property) set to
  2348. <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must be set.
  2349. </remarks>
  2350. </member>
  2351. <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossy">
  2352. <summary>
  2353. Indicates if the appender should overwrite events in the cyclic buffer
  2354. when it becomes full, or if the buffer should be flushed when the
  2355. buffer is full.
  2356. </summary>
  2357. <remarks>
  2358. If this field is set to <c>true</c> then an <see cref="P:log4net.Appender.BufferingAppenderSkeleton.Evaluator"/> must
  2359. be set.
  2360. </remarks>
  2361. </member>
  2362. <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_lossyEvaluator">
  2363. <summary>
  2364. The triggering event evaluator filters discarded events.
  2365. </summary>
  2366. <remarks>
  2367. The object that is used to determine if an event that is discarded should
  2368. really be discarded or if it should be sent to the appenders.
  2369. This field can be <c>null</c>, which indicates that all discarded events will
  2370. be discarded.
  2371. </remarks>
  2372. </member>
  2373. <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_fixFlags">
  2374. <summary>
  2375. Value indicating which fields in the event should be fixed
  2376. </summary>
  2377. <remarks>
  2378. By default all fields are fixed
  2379. </remarks>
  2380. </member>
  2381. <member name="F:log4net.Appender.BufferingAppenderSkeleton.m_eventMustBeFixed">
  2382. <summary>
  2383. The events delivered to the subclass must be fixed.
  2384. </summary>
  2385. </member>
  2386. <member name="T:log4net.Appender.BufferingForwardingAppender">
  2387. <summary>
  2388. Buffers events and then forwards them to attached appenders.
  2389. </summary>
  2390. <remarks>
  2391. <para>
  2392. The events are buffered in this appender until conditions are
  2393. met to allow the appender to deliver the events to the attached
  2394. appenders. See <see cref="T:log4net.Appender.BufferingAppenderSkeleton"/> for the
  2395. conditions that cause the buffer to be sent.
  2396. </para>
  2397. <para>The forwarding appender can be used to specify different
  2398. thresholds and filters for the same appender at different locations
  2399. within the hierarchy.
  2400. </para>
  2401. </remarks>
  2402. <author>Nicko Cadell</author>
  2403. <author>Gert Driesen</author>
  2404. </member>
  2405. <member name="M:log4net.Appender.BufferingForwardingAppender.#ctor">
  2406. <summary>
  2407. Initializes a new instance of the <see cref="T:log4net.Appender.BufferingForwardingAppender" /> class.
  2408. </summary>
  2409. <remarks>
  2410. <para>
  2411. Default constructor.
  2412. </para>
  2413. </remarks>
  2414. </member>
  2415. <member name="M:log4net.Appender.BufferingForwardingAppender.OnClose">
  2416. <summary>
  2417. Closes the appender and releases resources.
  2418. </summary>
  2419. <remarks>
  2420. <para>
  2421. Releases any resources allocated within the appender such as file handles,
  2422. network connections, etc.
  2423. </para>
  2424. <para>
  2425. It is a programming error to append to a closed appender.
  2426. </para>
  2427. </remarks>
  2428. </member>
  2429. <member name="M:log4net.Appender.BufferingForwardingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
  2430. <summary>
  2431. Send the events.
  2432. </summary>
  2433. <param name="events">The events that need to be send.</param>
  2434. <remarks>
  2435. <para>
  2436. Forwards the events to the attached appenders.
  2437. </para>
  2438. </remarks>
  2439. </member>
  2440. <member name="M:log4net.Appender.BufferingForwardingAppender.AddAppender(log4net.Appender.IAppender)">
  2441. <summary>
  2442. Adds an <see cref="T:log4net.Appender.IAppender" /> to the list of appenders of this
  2443. instance.
  2444. </summary>
  2445. <param name="newAppender">The <see cref="T:log4net.Appender.IAppender" /> to add to this appender.</param>
  2446. <remarks>
  2447. <para>
  2448. If the specified <see cref="T:log4net.Appender.IAppender" /> is already in the list of
  2449. appenders, then it won't be added again.
  2450. </para>
  2451. </remarks>
  2452. </member>
  2453. <member name="P:log4net.Appender.BufferingForwardingAppender.Appenders">
  2454. <summary>
  2455. Gets the appenders contained in this appender as an
  2456. <see cref="T:System.Collections.ICollection"/>.
  2457. </summary>
  2458. <remarks>
  2459. If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/>
  2460. is returned.
  2461. </remarks>
  2462. <returns>
  2463. A collection of the appenders in this appender.
  2464. </returns>
  2465. </member>
  2466. <member name="M:log4net.Appender.BufferingForwardingAppender.GetAppender(System.String)">
  2467. <summary>
  2468. Looks for the appender with the specified name.
  2469. </summary>
  2470. <param name="name">The name of the appender to lookup.</param>
  2471. <returns>
  2472. The appender with the specified name, or <c>null</c>.
  2473. </returns>
  2474. <remarks>
  2475. <para>
  2476. Get the named appender attached to this buffering appender.
  2477. </para>
  2478. </remarks>
  2479. </member>
  2480. <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAllAppenders">
  2481. <summary>
  2482. Removes all previously added appenders from this appender.
  2483. </summary>
  2484. <remarks>
  2485. <para>
  2486. This is useful when re-reading configuration information.
  2487. </para>
  2488. </remarks>
  2489. </member>
  2490. <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
  2491. <summary>
  2492. Removes the specified appender from the list of appenders.
  2493. </summary>
  2494. <param name="appender">The appender to remove.</param>
  2495. <returns>The appender removed from the list</returns>
  2496. <remarks>
  2497. The appender removed is not closed.
  2498. If you are discarding the appender you must call
  2499. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  2500. </remarks>
  2501. </member>
  2502. <member name="M:log4net.Appender.BufferingForwardingAppender.RemoveAppender(System.String)">
  2503. <summary>
  2504. Removes the appender with the specified name from the list of appenders.
  2505. </summary>
  2506. <param name="name">The name of the appender to remove.</param>
  2507. <returns>The appender removed from the list</returns>
  2508. <remarks>
  2509. The appender removed is not closed.
  2510. If you are discarding the appender you must call
  2511. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  2512. </remarks>
  2513. </member>
  2514. <member name="F:log4net.Appender.BufferingForwardingAppender.m_appenderAttachedImpl">
  2515. <summary>
  2516. Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
  2517. </summary>
  2518. </member>
  2519. <member name="T:log4net.Appender.ColoredConsoleAppender">
  2520. <summary>
  2521. Appends logging events to the console.
  2522. </summary>
  2523. <remarks>
  2524. <para>
  2525. ColoredConsoleAppender appends log events to the standard output stream
  2526. or the error output stream using a layout specified by the
  2527. user. It also allows the color of a specific type of message to be set.
  2528. </para>
  2529. <para>
  2530. By default, all output is written to the console's standard output stream.
  2531. The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> property can be set to direct the output to the
  2532. error stream.
  2533. </para>
  2534. <para>
  2535. NOTE: This appender writes directly to the application's attached console
  2536. not to the <c>System.Console.Out</c> or <c>System.Console.Error</c> <c>TextWriter</c>.
  2537. The <c>System.Console.Out</c> and <c>System.Console.Error</c> streams can be
  2538. programmatically redirected (for example NUnit does this to capture program output).
  2539. This appender will ignore these redirections because it needs to use Win32
  2540. API calls to colorize the output. To respect these redirections the <see cref="T:log4net.Appender.ConsoleAppender"/>
  2541. must be used.
  2542. </para>
  2543. <para>
  2544. When configuring the colored console appender, mapping should be
  2545. specified to map a logging level to a color. For example:
  2546. </para>
  2547. <code lang="XML" escaped="true">
  2548. <mapping>
  2549. <level value="ERROR" />
  2550. <foreColor value="White" />
  2551. <backColor value="Red, HighIntensity" />
  2552. </mapping>
  2553. <mapping>
  2554. <level value="DEBUG" />
  2555. <backColor value="Green" />
  2556. </mapping>
  2557. </code>
  2558. <para>
  2559. The Level is the standard log4net logging level and ForeColor and BackColor can be any
  2560. combination of the following values:
  2561. <list type="bullet">
  2562. <item><term>Blue</term><description></description></item>
  2563. <item><term>Green</term><description></description></item>
  2564. <item><term>Red</term><description></description></item>
  2565. <item><term>White</term><description></description></item>
  2566. <item><term>Yellow</term><description></description></item>
  2567. <item><term>Purple</term><description></description></item>
  2568. <item><term>Cyan</term><description></description></item>
  2569. <item><term>HighIntensity</term><description></description></item>
  2570. </list>
  2571. </para>
  2572. </remarks>
  2573. <author>Rick Hobbs</author>
  2574. <author>Nicko Cadell</author>
  2575. </member>
  2576. <member name="T:log4net.Appender.ColoredConsoleAppender.Colors">
  2577. <summary>
  2578. The enum of possible color values for use with the color mapping method
  2579. </summary>
  2580. <remarks>
  2581. <para>
  2582. The following flags can be combined together to
  2583. form the colors.
  2584. </para>
  2585. </remarks>
  2586. <seealso cref="T:log4net.Appender.ColoredConsoleAppender" />
  2587. </member>
  2588. <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Blue">
  2589. <summary>
  2590. color is blue
  2591. </summary>
  2592. </member>
  2593. <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Green">
  2594. <summary>
  2595. color is green
  2596. </summary>
  2597. </member>
  2598. <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Red">
  2599. <summary>
  2600. color is red
  2601. </summary>
  2602. </member>
  2603. <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.White">
  2604. <summary>
  2605. color is white
  2606. </summary>
  2607. </member>
  2608. <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Yellow">
  2609. <summary>
  2610. color is yellow
  2611. </summary>
  2612. </member>
  2613. <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Purple">
  2614. <summary>
  2615. color is purple
  2616. </summary>
  2617. </member>
  2618. <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.Cyan">
  2619. <summary>
  2620. color is cyan
  2621. </summary>
  2622. </member>
  2623. <member name="F:log4net.Appender.ColoredConsoleAppender.Colors.HighIntensity">
  2624. <summary>
  2625. color is intensified
  2626. </summary>
  2627. </member>
  2628. <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor">
  2629. <summary>
  2630. Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender" /> class.
  2631. </summary>
  2632. <remarks>
  2633. The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender" /> class is set up to write
  2634. to the standard output stream.
  2635. </remarks>
  2636. </member>
  2637. <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout)">
  2638. <summary>
  2639. Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender" /> class
  2640. with the specified layout.
  2641. </summary>
  2642. <param name="layout">the layout to use for this appender</param>
  2643. <remarks>
  2644. The instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender" /> class is set up to write
  2645. to the standard output stream.
  2646. </remarks>
  2647. </member>
  2648. <member name="M:log4net.Appender.ColoredConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
  2649. <summary>
  2650. Initializes a new instance of the <see cref="T:log4net.Appender.ColoredConsoleAppender" /> class
  2651. with the specified layout.
  2652. </summary>
  2653. <param name="layout">the layout to use for this appender</param>
  2654. <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
  2655. <remarks>
  2656. When <paramref name="writeToErrorStream" /> is set to <c>true</c>, output is written to
  2657. the standard error output stream. Otherwise, output is written to the standard
  2658. output stream.
  2659. </remarks>
  2660. </member>
  2661. <member name="P:log4net.Appender.ColoredConsoleAppender.Target">
  2662. <summary>
  2663. Target is the value of the console output stream.
  2664. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  2665. </summary>
  2666. <value>
  2667. Target is the value of the console output stream.
  2668. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  2669. </value>
  2670. <remarks>
  2671. <para>
  2672. Target is the value of the console output stream.
  2673. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  2674. </para>
  2675. </remarks>
  2676. </member>
  2677. <member name="M:log4net.Appender.ColoredConsoleAppender.AddMapping(log4net.Appender.ColoredConsoleAppender.LevelColors)">
  2678. <summary>
  2679. Add a mapping of level to color - done by the config file
  2680. </summary>
  2681. <param name="mapping">The mapping to add</param>
  2682. <remarks>
  2683. <para>
  2684. Add a <see cref="T:log4net.Appender.ColoredConsoleAppender.LevelColors"/> mapping to this appender.
  2685. Each mapping defines the foreground and background colors
  2686. for a level.
  2687. </para>
  2688. </remarks>
  2689. </member>
  2690. <member name="M:log4net.Appender.ColoredConsoleAppender.Append(log4net.Core.LoggingEvent)">
  2691. <summary>
  2692. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
  2693. </summary>
  2694. <param name="loggingEvent">The event to log.</param>
  2695. <remarks>
  2696. <para>
  2697. Writes the event to the console.
  2698. </para>
  2699. <para>
  2700. The format of the output will depend on the appender's layout.
  2701. </para>
  2702. </remarks>
  2703. </member>
  2704. <member name="P:log4net.Appender.ColoredConsoleAppender.RequiresLayout">
  2705. <summary>
  2706. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  2707. </summary>
  2708. <value><c>true</c></value>
  2709. <remarks>
  2710. <para>
  2711. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  2712. </para>
  2713. </remarks>
  2714. </member>
  2715. <member name="M:log4net.Appender.ColoredConsoleAppender.ActivateOptions">
  2716. <summary>
  2717. Initialize the options for this appender
  2718. </summary>
  2719. <remarks>
  2720. <para>
  2721. Initialize the level to color mappings set on this appender.
  2722. </para>
  2723. </remarks>
  2724. </member>
  2725. <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleOut">
  2726. <summary>
  2727. The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console
  2728. standard output stream.
  2729. </summary>
  2730. <remarks>
  2731. <para>
  2732. The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console
  2733. standard output stream.
  2734. </para>
  2735. </remarks>
  2736. </member>
  2737. <member name="F:log4net.Appender.ColoredConsoleAppender.ConsoleError">
  2738. <summary>
  2739. The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console
  2740. standard error output stream.
  2741. </summary>
  2742. <remarks>
  2743. <para>
  2744. The <see cref="P:log4net.Appender.ColoredConsoleAppender.Target"/> to use when writing to the Console
  2745. standard error output stream.
  2746. </para>
  2747. </remarks>
  2748. </member>
  2749. <member name="F:log4net.Appender.ColoredConsoleAppender.m_writeToErrorStream">
  2750. <summary>
  2751. Flag to write output to the error stream rather than the standard output stream
  2752. </summary>
  2753. </member>
  2754. <member name="F:log4net.Appender.ColoredConsoleAppender.m_levelMapping">
  2755. <summary>
  2756. Mapping from level object to color value
  2757. </summary>
  2758. </member>
  2759. <member name="F:log4net.Appender.ColoredConsoleAppender.m_consoleOutputWriter">
  2760. <summary>
  2761. The console output stream writer to write to
  2762. </summary>
  2763. <remarks>
  2764. <para>
  2765. This writer is not thread safe.
  2766. </para>
  2767. </remarks>
  2768. </member>
  2769. <member name="T:log4net.Appender.ColoredConsoleAppender.LevelColors">
  2770. <summary>
  2771. A class to act as a mapping between the level that a logging call is made at and
  2772. the color it should be displayed as.
  2773. </summary>
  2774. <remarks>
  2775. <para>
  2776. Defines the mapping between a level and the color it should be displayed in.
  2777. </para>
  2778. </remarks>
  2779. </member>
  2780. <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor">
  2781. <summary>
  2782. The mapped foreground color for the specified level
  2783. </summary>
  2784. <remarks>
  2785. <para>
  2786. Required property.
  2787. The mapped foreground color for the specified level.
  2788. </para>
  2789. </remarks>
  2790. </member>
  2791. <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor">
  2792. <summary>
  2793. The mapped background color for the specified level
  2794. </summary>
  2795. <remarks>
  2796. <para>
  2797. Required property.
  2798. The mapped background color for the specified level.
  2799. </para>
  2800. </remarks>
  2801. </member>
  2802. <member name="M:log4net.Appender.ColoredConsoleAppender.LevelColors.ActivateOptions">
  2803. <summary>
  2804. Initialize the options for the object
  2805. </summary>
  2806. <remarks>
  2807. <para>
  2808. Combine the <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> together.
  2809. </para>
  2810. </remarks>
  2811. </member>
  2812. <member name="P:log4net.Appender.ColoredConsoleAppender.LevelColors.CombinedColor">
  2813. <summary>
  2814. The combined <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.ForeColor"/> and <see cref="P:log4net.Appender.ColoredConsoleAppender.LevelColors.BackColor"/> suitable for
  2815. setting the console color.
  2816. </summary>
  2817. </member>
  2818. <member name="T:log4net.Appender.ConsoleAppender">
  2819. <summary>
  2820. Appends logging events to the console.
  2821. </summary>
  2822. <remarks>
  2823. <para>
  2824. ConsoleAppender appends log events to the standard output stream
  2825. or the error output stream using a layout specified by the
  2826. user.
  2827. </para>
  2828. <para>
  2829. By default, all output is written to the console's standard output stream.
  2830. The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> property can be set to direct the output to the
  2831. error stream.
  2832. </para>
  2833. <para>
  2834. NOTE: This appender writes each message to the <c>System.Console.Out</c> or
  2835. <c>System.Console.Error</c> that is set at the time the event is appended.
  2836. Therefore it is possible to programmatically redirect the output of this appender
  2837. (for example NUnit does this to capture program output). While this is the desired
  2838. behavior of this appender it may have security implications in your application.
  2839. </para>
  2840. </remarks>
  2841. <author>Nicko Cadell</author>
  2842. <author>Gert Driesen</author>
  2843. </member>
  2844. <member name="M:log4net.Appender.ConsoleAppender.#ctor">
  2845. <summary>
  2846. Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender" /> class.
  2847. </summary>
  2848. <remarks>
  2849. The instance of the <see cref="T:log4net.Appender.ConsoleAppender" /> class is set up to write
  2850. to the standard output stream.
  2851. </remarks>
  2852. </member>
  2853. <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout)">
  2854. <summary>
  2855. Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender" /> class
  2856. with the specified layout.
  2857. </summary>
  2858. <param name="layout">the layout to use for this appender</param>
  2859. <remarks>
  2860. The instance of the <see cref="T:log4net.Appender.ConsoleAppender" /> class is set up to write
  2861. to the standard output stream.
  2862. </remarks>
  2863. </member>
  2864. <member name="M:log4net.Appender.ConsoleAppender.#ctor(log4net.Layout.ILayout,System.Boolean)">
  2865. <summary>
  2866. Initializes a new instance of the <see cref="T:log4net.Appender.ConsoleAppender" /> class
  2867. with the specified layout.
  2868. </summary>
  2869. <param name="layout">the layout to use for this appender</param>
  2870. <param name="writeToErrorStream">flag set to <c>true</c> to write to the console error stream</param>
  2871. <remarks>
  2872. When <paramref name="writeToErrorStream" /> is set to <c>true</c>, output is written to
  2873. the standard error output stream. Otherwise, output is written to the standard
  2874. output stream.
  2875. </remarks>
  2876. </member>
  2877. <member name="P:log4net.Appender.ConsoleAppender.Target">
  2878. <summary>
  2879. Target is the value of the console output stream.
  2880. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  2881. </summary>
  2882. <value>
  2883. Target is the value of the console output stream.
  2884. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  2885. </value>
  2886. <remarks>
  2887. <para>
  2888. Target is the value of the console output stream.
  2889. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  2890. </para>
  2891. </remarks>
  2892. </member>
  2893. <member name="M:log4net.Appender.ConsoleAppender.Append(log4net.Core.LoggingEvent)">
  2894. <summary>
  2895. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
  2896. </summary>
  2897. <param name="loggingEvent">The event to log.</param>
  2898. <remarks>
  2899. <para>
  2900. Writes the event to the console.
  2901. </para>
  2902. <para>
  2903. The format of the output will depend on the appender's layout.
  2904. </para>
  2905. </remarks>
  2906. </member>
  2907. <member name="P:log4net.Appender.ConsoleAppender.RequiresLayout">
  2908. <summary>
  2909. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  2910. </summary>
  2911. <value><c>true</c></value>
  2912. <remarks>
  2913. <para>
  2914. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  2915. </para>
  2916. </remarks>
  2917. </member>
  2918. <member name="F:log4net.Appender.ConsoleAppender.ConsoleOut">
  2919. <summary>
  2920. The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console
  2921. standard output stream.
  2922. </summary>
  2923. <remarks>
  2924. <para>
  2925. The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console
  2926. standard output stream.
  2927. </para>
  2928. </remarks>
  2929. </member>
  2930. <member name="F:log4net.Appender.ConsoleAppender.ConsoleError">
  2931. <summary>
  2932. The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console
  2933. standard error output stream.
  2934. </summary>
  2935. <remarks>
  2936. <para>
  2937. The <see cref="P:log4net.Appender.ConsoleAppender.Target"/> to use when writing to the Console
  2938. standard error output stream.
  2939. </para>
  2940. </remarks>
  2941. </member>
  2942. <member name="T:log4net.Appender.DebugAppender">
  2943. <summary>
  2944. Appends log events to the <see cref="T:System.Diagnostics.Debug"/> system.
  2945. </summary>
  2946. <remarks>
  2947. <para>
  2948. The application configuration file can be used to control what listeners
  2949. are actually used. See the MSDN documentation for the
  2950. <see cref="T:System.Diagnostics.Debug"/> class for details on configuring the
  2951. debug system.
  2952. </para>
  2953. <para>
  2954. Events are written using the <see cref="M:System.Diagnostics.Debug.Write(string,string)"/>
  2955. method. The event's logger name is passed as the value for the category name to the Write method.
  2956. </para>
  2957. </remarks>
  2958. <author>Nicko Cadell</author>
  2959. </member>
  2960. <member name="M:log4net.Appender.DebugAppender.#ctor">
  2961. <summary>
  2962. Initializes a new instance of the <see cref="T:log4net.Appender.DebugAppender" />.
  2963. </summary>
  2964. <remarks>
  2965. <para>
  2966. Default constructor.
  2967. </para>
  2968. </remarks>
  2969. </member>
  2970. <member name="M:log4net.Appender.DebugAppender.#ctor(log4net.Layout.ILayout)">
  2971. <summary>
  2972. Initializes a new instance of the <see cref="T:log4net.Appender.DebugAppender" />
  2973. with a specified layout.
  2974. </summary>
  2975. <param name="layout">The layout to use with this appender.</param>
  2976. <remarks>
  2977. <para>
  2978. Obsolete constructor.
  2979. </para>
  2980. </remarks>
  2981. </member>
  2982. <member name="P:log4net.Appender.DebugAppender.ImmediateFlush">
  2983. <summary>
  2984. Gets or sets a value that indicates whether the appender will
  2985. flush at the end of each write.
  2986. </summary>
  2987. <remarks>
  2988. <para>The default behavior is to flush at the end of each
  2989. write. If the option is set to<c>false</c>, then the underlying
  2990. stream can defer writing to physical medium to a later time.
  2991. </para>
  2992. <para>
  2993. Avoiding the flush operation at the end of each append results
  2994. in a performance gain of 10 to 20 percent. However, there is safety
  2995. trade-off involved in skipping flushing. Indeed, when flushing is
  2996. skipped, then it is likely that the last few log events will not
  2997. be recorded on disk when the application exits. This is a high
  2998. price to pay even for a 20% performance gain.
  2999. </para>
  3000. </remarks>
  3001. </member>
  3002. <member name="P:log4net.Appender.DebugAppender.Category">
  3003. <summary>
  3004. Formats the category parameter sent to the Debug method.
  3005. </summary>
  3006. <remarks>
  3007. <para>
  3008. Defaults to a <see cref="T:log4net.Layout.PatternLayout"/> with %logger as the pattern which will use the logger name of the current
  3009. <see cref="T:log4net.Core.LoggingEvent"/> as the category parameter.
  3010. </para>
  3011. <para>
  3012. </para>
  3013. </remarks>
  3014. </member>
  3015. <member name="M:log4net.Appender.DebugAppender.Flush(System.Int32)">
  3016. <summary>
  3017. Flushes any buffered log data.
  3018. </summary>
  3019. <param name="millisecondsTimeout">The maximum time to wait for logging events to be flushed.</param>
  3020. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  3021. </member>
  3022. <member name="M:log4net.Appender.DebugAppender.Append(log4net.Core.LoggingEvent)">
  3023. <summary>
  3024. Writes the logging event to the <see cref="T:System.Diagnostics.Debug"/> system.
  3025. </summary>
  3026. <param name="loggingEvent">The event to log.</param>
  3027. <remarks>
  3028. <para>
  3029. Writes the logging event to the <see cref="T:System.Diagnostics.Debug"/> system.
  3030. If <see cref="P:log4net.Appender.DebugAppender.ImmediateFlush"/> is <c>true</c> then the <see cref="M:System.Diagnostics.Debug.Flush"/>
  3031. is called.
  3032. </para>
  3033. </remarks>
  3034. </member>
  3035. <member name="P:log4net.Appender.DebugAppender.RequiresLayout">
  3036. <summary>
  3037. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  3038. </summary>
  3039. <value><c>true</c></value>
  3040. <remarks>
  3041. <para>
  3042. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  3043. </para>
  3044. </remarks>
  3045. </member>
  3046. <member name="F:log4net.Appender.DebugAppender.m_immediateFlush">
  3047. <summary>
  3048. Immediate flush means that the underlying writer or output stream
  3049. will be flushed at the end of each append operation.
  3050. </summary>
  3051. <remarks>
  3052. <para>
  3053. Immediate flush is slower but ensures that each append request is
  3054. actually written. If <see cref="P:log4net.Appender.DebugAppender.ImmediateFlush"/> is set to
  3055. <c>false</c>, then there is a good chance that the last few
  3056. logs events are not actually written to persistent media if and
  3057. when the application crashes.
  3058. </para>
  3059. <para>
  3060. The default value is <c>true</c>.</para>
  3061. </remarks>
  3062. </member>
  3063. <member name="F:log4net.Appender.DebugAppender.m_category">
  3064. <summary>
  3065. Defaults to a <see cref="T:log4net.Layout.PatternLayout"/> with %logger as the pattern.
  3066. </summary>
  3067. </member>
  3068. <member name="T:log4net.Appender.EventLogAppender">
  3069. <summary>
  3070. Writes events to the system event log.
  3071. </summary>
  3072. <remarks>
  3073. <para>
  3074. The appender will fail if you try to write using an event source that doesn't exist unless it is running with local administrator privileges.
  3075. See also http://logging.apache.org/log4net/release/faq.html#trouble-EventLog
  3076. </para>
  3077. <para>
  3078. The <c>EventID</c> of the event log entry can be
  3079. set using the <c>EventID</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
  3080. on the <see cref="T:log4net.Core.LoggingEvent"/>.
  3081. </para>
  3082. <para>
  3083. The <c>Category</c> of the event log entry can be
  3084. set using the <c>Category</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
  3085. on the <see cref="T:log4net.Core.LoggingEvent"/>.
  3086. </para>
  3087. <para>
  3088. There is a limit of 32K characters for an event log message
  3089. </para>
  3090. <para>
  3091. When configuring the EventLogAppender a mapping can be
  3092. specified to map a logging level to an event log entry type. For example:
  3093. </para>
  3094. <code lang="XML">
  3095. &lt;mapping&gt;
  3096. &lt;level value="ERROR" /&gt;
  3097. &lt;eventLogEntryType value="Error" /&gt;
  3098. &lt;/mapping&gt;
  3099. &lt;mapping&gt;
  3100. &lt;level value="DEBUG" /&gt;
  3101. &lt;eventLogEntryType value="Information" /&gt;
  3102. &lt;/mapping&gt;
  3103. </code>
  3104. <para>
  3105. The Level is the standard log4net logging level and eventLogEntryType can be any value
  3106. from the <see cref="T:System.Diagnostics.EventLogEntryType"/> enum, i.e.:
  3107. <list type="bullet">
  3108. <item><term>Error</term><description>an error event</description></item>
  3109. <item><term>Warning</term><description>a warning event</description></item>
  3110. <item><term>Information</term><description>an informational event</description></item>
  3111. </list>
  3112. </para>
  3113. </remarks>
  3114. <author>Aspi Havewala</author>
  3115. <author>Douglas de la Torre</author>
  3116. <author>Nicko Cadell</author>
  3117. <author>Gert Driesen</author>
  3118. <author>Thomas Voss</author>
  3119. </member>
  3120. <member name="M:log4net.Appender.EventLogAppender.#ctor">
  3121. <summary>
  3122. Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender" /> class.
  3123. </summary>
  3124. <remarks>
  3125. <para>
  3126. Default constructor.
  3127. </para>
  3128. </remarks>
  3129. </member>
  3130. <member name="M:log4net.Appender.EventLogAppender.#ctor(log4net.Layout.ILayout)">
  3131. <summary>
  3132. Initializes a new instance of the <see cref="T:log4net.Appender.EventLogAppender" /> class
  3133. with the specified <see cref="T:log4net.Layout.ILayout" />.
  3134. </summary>
  3135. <param name="layout">The <see cref="T:log4net.Layout.ILayout" /> to use with this appender.</param>
  3136. <remarks>
  3137. <para>
  3138. Obsolete constructor.
  3139. </para>
  3140. </remarks>
  3141. </member>
  3142. <member name="P:log4net.Appender.EventLogAppender.LogName">
  3143. <summary>
  3144. The name of the log where messages will be stored.
  3145. </summary>
  3146. <value>
  3147. The string name of the log where messages will be stored.
  3148. </value>
  3149. <remarks>
  3150. <para>This is the name of the log as it appears in the Event Viewer
  3151. tree. The default value is to log into the <c>Application</c>
  3152. log, this is where most applications write their events. However
  3153. if you need a separate log for your application (or applications)
  3154. then you should set the <see cref="P:log4net.Appender.EventLogAppender.LogName"/> appropriately.</para>
  3155. <para>This should not be used to distinguish your event log messages
  3156. from those of other applications, the <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>
  3157. property should be used to distinguish events. This property should be
  3158. used to group together events into a single log.
  3159. </para>
  3160. </remarks>
  3161. </member>
  3162. <member name="P:log4net.Appender.EventLogAppender.ApplicationName">
  3163. <summary>
  3164. Property used to set the Application name. This appears in the
  3165. event logs when logging.
  3166. </summary>
  3167. <value>
  3168. The string used to distinguish events from different sources.
  3169. </value>
  3170. <remarks>
  3171. Sets the event log source property.
  3172. </remarks>
  3173. </member>
  3174. <member name="P:log4net.Appender.EventLogAppender.MachineName">
  3175. <summary>
  3176. This property is used to return the name of the computer to use
  3177. when accessing the event logs. Currently, this is the current
  3178. computer, denoted by a dot "."
  3179. </summary>
  3180. <value>
  3181. The string name of the machine holding the event log that
  3182. will be logged into.
  3183. </value>
  3184. <remarks>
  3185. This property cannot be changed. It is currently set to '.'
  3186. i.e. the local machine. This may be changed in future.
  3187. </remarks>
  3188. </member>
  3189. <member name="M:log4net.Appender.EventLogAppender.AddMapping(log4net.Appender.EventLogAppender.Level2EventLogEntryType)">
  3190. <summary>
  3191. Add a mapping of level to <see cref="T:System.Diagnostics.EventLogEntryType"/> - done by the config file
  3192. </summary>
  3193. <param name="mapping">The mapping to add</param>
  3194. <remarks>
  3195. <para>
  3196. Add a <see cref="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType"/> mapping to this appender.
  3197. Each mapping defines the event log entry type for a level.
  3198. </para>
  3199. </remarks>
  3200. </member>
  3201. <member name="P:log4net.Appender.EventLogAppender.SecurityContext">
  3202. <summary>
  3203. Gets or sets the <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
  3204. </summary>
  3205. <value>
  3206. The <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> used to write to the EventLog.
  3207. </value>
  3208. <remarks>
  3209. <para>
  3210. The system security context used to write to the EventLog.
  3211. </para>
  3212. <para>
  3213. Unless a <see cref="P:log4net.Appender.EventLogAppender.SecurityContext"/> specified here for this appender
  3214. the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
  3215. security context to use. The default behavior is to use the security context
  3216. of the current thread.
  3217. </para>
  3218. </remarks>
  3219. </member>
  3220. <member name="P:log4net.Appender.EventLogAppender.EventId">
  3221. <summary>
  3222. Gets or sets the <c>EventId</c> to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
  3223. </summary>
  3224. <remarks>
  3225. <para>
  3226. The <c>EventID</c> of the event log entry will normally be
  3227. set using the <c>EventID</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
  3228. on the <see cref="T:log4net.Core.LoggingEvent"/>.
  3229. This property provides the fallback value which defaults to 0.
  3230. </para>
  3231. </remarks>
  3232. </member>
  3233. <member name="P:log4net.Appender.EventLogAppender.Category">
  3234. <summary>
  3235. Gets or sets the <c>Category</c> to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
  3236. </summary>
  3237. <remarks>
  3238. <para>
  3239. The <c>Category</c> of the event log entry will normally be
  3240. set using the <c>Category</c> property (<see cref="P:log4net.Core.LoggingEvent.Properties"/>)
  3241. on the <see cref="T:log4net.Core.LoggingEvent"/>.
  3242. This property provides the fallback value which defaults to 0.
  3243. </para>
  3244. </remarks>
  3245. </member>
  3246. <member name="M:log4net.Appender.EventLogAppender.ActivateOptions">
  3247. <summary>
  3248. Initialize the appender based on the options set
  3249. </summary>
  3250. <remarks>
  3251. <para>
  3252. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  3253. activation scheme. The <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> method must
  3254. be called on this object after the configuration properties have
  3255. been set. Until <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> is called this
  3256. object is in an undefined state and must not be used.
  3257. </para>
  3258. <para>
  3259. If any of the configuration properties are modified then
  3260. <see cref="M:log4net.Appender.EventLogAppender.ActivateOptions"/> must be called again.
  3261. </para>
  3262. </remarks>
  3263. </member>
  3264. <member name="M:log4net.Appender.EventLogAppender.CreateEventSource(System.String,System.String,System.String)">
  3265. <summary>
  3266. Create an event log source
  3267. </summary>
  3268. <remarks>
  3269. Uses different API calls under NET_2_0
  3270. </remarks>
  3271. </member>
  3272. <member name="M:log4net.Appender.EventLogAppender.Append(log4net.Core.LoggingEvent)">
  3273. <summary>
  3274. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/>
  3275. method.
  3276. </summary>
  3277. <param name="loggingEvent">the event to log</param>
  3278. <remarks>
  3279. <para>Writes the event to the system event log using the
  3280. <see cref="P:log4net.Appender.EventLogAppender.ApplicationName"/>.</para>
  3281. <para>If the event has an <c>EventID</c> property (see <see cref="P:log4net.Core.LoggingEvent.Properties"/>)
  3282. set then this integer will be used as the event log event id.</para>
  3283. <para>
  3284. There is a limit of 32K characters for an event log message
  3285. </para>
  3286. </remarks>
  3287. </member>
  3288. <member name="P:log4net.Appender.EventLogAppender.RequiresLayout">
  3289. <summary>
  3290. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  3291. </summary>
  3292. <value><c>true</c></value>
  3293. <remarks>
  3294. <para>
  3295. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  3296. </para>
  3297. </remarks>
  3298. </member>
  3299. <member name="M:log4net.Appender.EventLogAppender.GetEntryType(log4net.Core.Level)">
  3300. <summary>
  3301. Get the equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="level"/>
  3302. </summary>
  3303. <param name="level">the Level to convert to an EventLogEntryType</param>
  3304. <returns>The equivalent <see cref="T:System.Diagnostics.EventLogEntryType"/> for a <see cref="T:log4net.Core.Level"/> <paramref name="level"/></returns>
  3305. <remarks>
  3306. Because there are fewer applicable <see cref="T:System.Diagnostics.EventLogEntryType"/>
  3307. values to use in logging levels than there are in the
  3308. <see cref="T:log4net.Core.Level"/> this is a one way mapping. There is
  3309. a loss of information during the conversion.
  3310. </remarks>
  3311. </member>
  3312. <member name="F:log4net.Appender.EventLogAppender.m_logName">
  3313. <summary>
  3314. The log name is the section in the event logs where the messages
  3315. are stored.
  3316. </summary>
  3317. </member>
  3318. <member name="F:log4net.Appender.EventLogAppender.m_applicationName">
  3319. <summary>
  3320. Name of the application to use when logging. This appears in the
  3321. application column of the event log named by <see cref="F:log4net.Appender.EventLogAppender.m_logName"/>.
  3322. </summary>
  3323. </member>
  3324. <member name="F:log4net.Appender.EventLogAppender.m_machineName">
  3325. <summary>
  3326. The name of the machine which holds the event log. This is
  3327. currently only allowed to be '.' i.e. the current machine.
  3328. </summary>
  3329. </member>
  3330. <member name="F:log4net.Appender.EventLogAppender.m_levelMapping">
  3331. <summary>
  3332. Mapping from level object to EventLogEntryType
  3333. </summary>
  3334. </member>
  3335. <member name="F:log4net.Appender.EventLogAppender.m_securityContext">
  3336. <summary>
  3337. The security context to use for privileged calls
  3338. </summary>
  3339. </member>
  3340. <member name="F:log4net.Appender.EventLogAppender.m_eventId">
  3341. <summary>
  3342. The event ID to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
  3343. </summary>
  3344. </member>
  3345. <member name="F:log4net.Appender.EventLogAppender.m_category">
  3346. <summary>
  3347. The event category to use unless one is explicitly specified via the <c>LoggingEvent</c>'s properties.
  3348. </summary>
  3349. </member>
  3350. <member name="T:log4net.Appender.EventLogAppender.Level2EventLogEntryType">
  3351. <summary>
  3352. A class to act as a mapping between the level that a logging call is made at and
  3353. the color it should be displayed as.
  3354. </summary>
  3355. <remarks>
  3356. <para>
  3357. Defines the mapping between a level and its event log entry type.
  3358. </para>
  3359. </remarks>
  3360. </member>
  3361. <member name="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType">
  3362. <summary>
  3363. The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
  3364. </summary>
  3365. <remarks>
  3366. <para>
  3367. Required property.
  3368. The <see cref="P:log4net.Appender.EventLogAppender.Level2EventLogEntryType.EventLogEntryType"/> for this entry
  3369. </para>
  3370. </remarks>
  3371. </member>
  3372. <member name="F:log4net.Appender.EventLogAppender.declaringType">
  3373. <summary>
  3374. The fully qualified type of the EventLogAppender class.
  3375. </summary>
  3376. <remarks>
  3377. Used by the internal logger to record the Type of the
  3378. log message.
  3379. </remarks>
  3380. </member>
  3381. <member name="F:log4net.Appender.EventLogAppender.MAX_EVENTLOG_MESSAGE_SIZE_DEFAULT">
  3382. <summary>
  3383. The maximum size supported by default.
  3384. </summary>
  3385. <remarks>
  3386. http://msdn.microsoft.com/en-us/library/xzwc042w(v=vs.100).aspx
  3387. The 32766 documented max size is two bytes shy of 32K (I'm assuming 32766
  3388. may leave space for a two byte null terminator of #0#0). The 32766 max
  3389. length is what the .NET 4.0 source code checks for, but this is WRONG!
  3390. Strings with a length > 31839 on Windows Vista or higher can CORRUPT
  3391. the event log! See: System.Diagnostics.EventLogInternal.InternalWriteEvent()
  3392. for the use of the 32766 max size.
  3393. </remarks>
  3394. </member>
  3395. <member name="F:log4net.Appender.EventLogAppender.MAX_EVENTLOG_MESSAGE_SIZE_VISTA_OR_NEWER">
  3396. <summary>
  3397. The maximum size supported by a windows operating system that is vista
  3398. or newer.
  3399. </summary>
  3400. <remarks>
  3401. See ReportEvent API:
  3402. http://msdn.microsoft.com/en-us/library/aa363679(VS.85).aspx
  3403. ReportEvent's lpStrings parameter:
  3404. "A pointer to a buffer containing an array of
  3405. null-terminated strings that are merged into the message before Event Viewer
  3406. displays the string to the user. This parameter must be a valid pointer
  3407. (or NULL), even if wNumStrings is zero. Each string is limited to 31,839 characters."
  3408. Going beyond the size of 31839 will (at some point) corrupt the event log on Windows
  3409. Vista or higher! It may succeed for a while...but you will eventually run into the
  3410. error: "System.ComponentModel.Win32Exception : A device attached to the system is
  3411. not functioning", and the event log will then be corrupt (I was able to corrupt
  3412. an event log using a length of 31877 on Windows 7).
  3413. The max size for Windows Vista or higher is documented here:
  3414. http://msdn.microsoft.com/en-us/library/xzwc042w(v=vs.100).aspx.
  3415. Going over this size may succeed a few times but the buffer will overrun and
  3416. eventually corrupt the log (based on testing).
  3417. The maxEventMsgSize size is based on the max buffer size of the lpStrings parameter of the ReportEvent API.
  3418. The documented max size for EventLog.WriteEntry for Windows Vista and higher is 31839, but I'm leaving room for a
  3419. terminator of #0#0, as we cannot see the source of ReportEvent (though we could use an API monitor to examine the
  3420. buffer, given enough time).
  3421. </remarks>
  3422. </member>
  3423. <member name="F:log4net.Appender.EventLogAppender.MAX_EVENTLOG_MESSAGE_SIZE">
  3424. <summary>
  3425. The maximum size that the operating system supports for
  3426. a event log message.
  3427. </summary>
  3428. <remarks>
  3429. Used to determine the maximum string length that can be written
  3430. to the operating system event log and eventually truncate a string
  3431. that exceeds the limits.
  3432. </remarks>
  3433. </member>
  3434. <member name="M:log4net.Appender.EventLogAppender.GetMaxEventLogMessageSize">
  3435. <summary>
  3436. This method determines the maximum event log message size allowed for
  3437. the current environment.
  3438. </summary>
  3439. <returns></returns>
  3440. </member>
  3441. <member name="T:log4net.Appender.FileAppender">
  3442. <summary>
  3443. Appends logging events to a file.
  3444. </summary>
  3445. <remarks>
  3446. <para>
  3447. Logging events are sent to the file specified by
  3448. the <see cref="P:log4net.Appender.FileAppender.File"/> property.
  3449. </para>
  3450. <para>
  3451. The file can be opened in either append or overwrite mode
  3452. by specifying the <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property.
  3453. If the file path is relative it is taken as relative from
  3454. the application base directory. The file encoding can be
  3455. specified by setting the <see cref="P:log4net.Appender.FileAppender.Encoding"/> property.
  3456. </para>
  3457. <para>
  3458. The layout's <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
  3459. values will be written each time the file is opened and closed
  3460. respectively. If the <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property is <see langword="true"/>
  3461. then the file may contain multiple copies of the header and footer.
  3462. </para>
  3463. <para>
  3464. This appender will first try to open the file for writing when <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/>
  3465. is called. This will typically be during configuration.
  3466. If the file cannot be opened for writing the appender will attempt
  3467. to open the file again each time a message is logged to the appender.
  3468. If the file cannot be opened for writing when a message is logged then
  3469. the message will be discarded by this appender.
  3470. </para>
  3471. <para>
  3472. The <see cref="T:log4net.Appender.FileAppender"/> supports pluggable file locking models via
  3473. the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> property.
  3474. The default behavior, implemented by <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>
  3475. is to obtain an exclusive write lock on the file until this appender is closed.
  3476. The alternative models only hold a
  3477. write lock while the appender is writing a logging event (<see cref="T:log4net.Appender.FileAppender.MinimalLock"/>)
  3478. or synchronize by using a named system wide Mutex (<see cref="T:log4net.Appender.FileAppender.InterProcessLock"/>).
  3479. </para>
  3480. <para>
  3481. All locking strategies have issues and you should seriously consider using a different strategy that
  3482. avoids having multiple processes logging to the same file.
  3483. </para>
  3484. </remarks>
  3485. <author>Nicko Cadell</author>
  3486. <author>Gert Driesen</author>
  3487. <author>Rodrigo B. de Oliveira</author>
  3488. <author>Douglas de la Torre</author>
  3489. <author>Niall Daley</author>
  3490. </member>
  3491. <member name="T:log4net.Appender.FileAppender.LockingStream">
  3492. <summary>
  3493. Write only <see cref="T:System.IO.Stream"/> that uses the <see cref="T:log4net.Appender.FileAppender.LockingModelBase"/>
  3494. to manage access to an underlying resource.
  3495. </summary>
  3496. </member>
  3497. <member name="M:log4net.Appender.FileAppender.LockingStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)">
  3498. <summary>
  3499. True asynchronous writes are not supported, the implementation forces a synchronous write.
  3500. </summary>
  3501. </member>
  3502. <member name="T:log4net.Appender.FileAppender.LockingModelBase">
  3503. <summary>
  3504. Locking model base class
  3505. </summary>
  3506. <remarks>
  3507. <para>
  3508. Base class for the locking models available to the <see cref="T:log4net.Appender.FileAppender"/> derived loggers.
  3509. </para>
  3510. </remarks>
  3511. </member>
  3512. <member name="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
  3513. <summary>
  3514. Open the output file
  3515. </summary>
  3516. <param name="filename">The filename to use</param>
  3517. <param name="append">Whether to append to the file, or overwrite</param>
  3518. <param name="encoding">The encoding to use</param>
  3519. <remarks>
  3520. <para>
  3521. Open the file specified and prepare for logging.
  3522. No writes will be made until <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/> is called.
  3523. Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/>,
  3524. <see cref="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile"/>.
  3525. </para>
  3526. </remarks>
  3527. </member>
  3528. <member name="M:log4net.Appender.FileAppender.LockingModelBase.CloseFile">
  3529. <summary>
  3530. Close the file
  3531. </summary>
  3532. <remarks>
  3533. <para>
  3534. Close the file. No further writes will be made.
  3535. </para>
  3536. </remarks>
  3537. </member>
  3538. <member name="M:log4net.Appender.FileAppender.LockingModelBase.ActivateOptions">
  3539. <summary>
  3540. Initializes all resources used by this locking model.
  3541. </summary>
  3542. </member>
  3543. <member name="M:log4net.Appender.FileAppender.LockingModelBase.OnClose">
  3544. <summary>
  3545. Disposes all resources that were initialized by this locking model.
  3546. </summary>
  3547. </member>
  3548. <member name="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock">
  3549. <summary>
  3550. Acquire the lock on the file
  3551. </summary>
  3552. <returns>A stream that is ready to be written to.</returns>
  3553. <remarks>
  3554. <para>
  3555. Acquire the lock on the file in preparation for writing to it.
  3556. Return a stream pointing to the file. <see cref="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock"/>
  3557. must be called to release the lock on the output file.
  3558. </para>
  3559. </remarks>
  3560. </member>
  3561. <member name="M:log4net.Appender.FileAppender.LockingModelBase.ReleaseLock">
  3562. <summary>
  3563. Release the lock on the file
  3564. </summary>
  3565. <remarks>
  3566. <para>
  3567. Release the lock on the file. No further writes will be made to the
  3568. stream until <see cref="M:log4net.Appender.FileAppender.LockingModelBase.AcquireLock"/> is called again.
  3569. </para>
  3570. </remarks>
  3571. </member>
  3572. <member name="P:log4net.Appender.FileAppender.LockingModelBase.CurrentAppender">
  3573. <summary>
  3574. Gets or sets the <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
  3575. </summary>
  3576. <value>
  3577. The <see cref="T:log4net.Appender.FileAppender"/> for this LockingModel
  3578. </value>
  3579. <remarks>
  3580. <para>
  3581. The file appender this locking model is attached to and working on
  3582. behalf of.
  3583. </para>
  3584. <para>
  3585. The file appender is used to locate the security context and the error handler to use.
  3586. </para>
  3587. <para>
  3588. The value of this property will be set before <see cref="M:log4net.Appender.FileAppender.LockingModelBase.OpenFile(System.String,System.Boolean,System.Text.Encoding)"/> is
  3589. called.
  3590. </para>
  3591. </remarks>
  3592. </member>
  3593. <member name="M:log4net.Appender.FileAppender.LockingModelBase.CreateStream(System.String,System.Boolean,System.IO.FileShare)">
  3594. <summary>
  3595. Helper method that creates a FileStream under CurrentAppender's SecurityContext.
  3596. </summary>
  3597. <remarks>
  3598. <para>
  3599. Typically called during OpenFile or AcquireLock.
  3600. </para>
  3601. <para>
  3602. If the directory portion of the <paramref name="filename"/> does not exist, it is created
  3603. via Directory.CreateDirecctory.
  3604. </para>
  3605. </remarks>
  3606. <param name="filename"></param>
  3607. <param name="append"></param>
  3608. <param name="fileShare"></param>
  3609. <returns></returns>
  3610. </member>
  3611. <member name="M:log4net.Appender.FileAppender.LockingModelBase.CloseStream(System.IO.Stream)">
  3612. <summary>
  3613. Helper method to close <paramref name="stream"/> under CurrentAppender's SecurityContext.
  3614. </summary>
  3615. <remarks>
  3616. Does not set <paramref name="stream"/> to null.
  3617. </remarks>
  3618. <param name="stream"></param>
  3619. </member>
  3620. <member name="T:log4net.Appender.FileAppender.ExclusiveLock">
  3621. <summary>
  3622. Hold an exclusive lock on the output file
  3623. </summary>
  3624. <remarks>
  3625. <para>
  3626. Open the file once for writing and hold it open until <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile"/> is called.
  3627. Maintains an exclusive lock on the file during this time.
  3628. </para>
  3629. </remarks>
  3630. </member>
  3631. <member name="M:log4net.Appender.FileAppender.ExclusiveLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
  3632. <summary>
  3633. Open the file specified and prepare for logging.
  3634. </summary>
  3635. <param name="filename">The filename to use</param>
  3636. <param name="append">Whether to append to the file, or overwrite</param>
  3637. <param name="encoding">The encoding to use</param>
  3638. <remarks>
  3639. <para>
  3640. Open the file specified and prepare for logging.
  3641. No writes will be made until <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock"/> is called.
  3642. Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock"/>,
  3643. <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile"/>.
  3644. </para>
  3645. </remarks>
  3646. </member>
  3647. <member name="M:log4net.Appender.FileAppender.ExclusiveLock.CloseFile">
  3648. <summary>
  3649. Close the file
  3650. </summary>
  3651. <remarks>
  3652. <para>
  3653. Close the file. No further writes will be made.
  3654. </para>
  3655. </remarks>
  3656. </member>
  3657. <member name="M:log4net.Appender.FileAppender.ExclusiveLock.AcquireLock">
  3658. <summary>
  3659. Acquire the lock on the file
  3660. </summary>
  3661. <returns>A stream that is ready to be written to.</returns>
  3662. <remarks>
  3663. <para>
  3664. Does nothing. The lock is already taken
  3665. </para>
  3666. </remarks>
  3667. </member>
  3668. <member name="M:log4net.Appender.FileAppender.ExclusiveLock.ReleaseLock">
  3669. <summary>
  3670. Release the lock on the file
  3671. </summary>
  3672. <remarks>
  3673. <para>
  3674. Does nothing. The lock will be released when the file is closed.
  3675. </para>
  3676. </remarks>
  3677. </member>
  3678. <member name="M:log4net.Appender.FileAppender.ExclusiveLock.ActivateOptions">
  3679. <summary>
  3680. Initializes all resources used by this locking model.
  3681. </summary>
  3682. </member>
  3683. <member name="M:log4net.Appender.FileAppender.ExclusiveLock.OnClose">
  3684. <summary>
  3685. Disposes all resources that were initialized by this locking model.
  3686. </summary>
  3687. </member>
  3688. <member name="T:log4net.Appender.FileAppender.MinimalLock">
  3689. <summary>
  3690. Acquires the file lock for each write
  3691. </summary>
  3692. <remarks>
  3693. <para>
  3694. Opens the file once for each <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/>/<see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/> cycle,
  3695. thus holding the lock for the minimal amount of time. This method of locking
  3696. is considerably slower than <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/> but allows
  3697. other processes to move/delete the log file whilst logging continues.
  3698. </para>
  3699. </remarks>
  3700. </member>
  3701. <member name="M:log4net.Appender.FileAppender.MinimalLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
  3702. <summary>
  3703. Prepares to open the file when the first message is logged.
  3704. </summary>
  3705. <param name="filename">The filename to use</param>
  3706. <param name="append">Whether to append to the file, or overwrite</param>
  3707. <param name="encoding">The encoding to use</param>
  3708. <remarks>
  3709. <para>
  3710. Open the file specified and prepare for logging.
  3711. No writes will be made until <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/> is called.
  3712. Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/>,
  3713. <see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.MinimalLock.CloseFile"/>.
  3714. </para>
  3715. </remarks>
  3716. </member>
  3717. <member name="M:log4net.Appender.FileAppender.MinimalLock.CloseFile">
  3718. <summary>
  3719. Close the file
  3720. </summary>
  3721. <remarks>
  3722. <para>
  3723. Close the file. No further writes will be made.
  3724. </para>
  3725. </remarks>
  3726. </member>
  3727. <member name="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock">
  3728. <summary>
  3729. Acquire the lock on the file
  3730. </summary>
  3731. <returns>A stream that is ready to be written to.</returns>
  3732. <remarks>
  3733. <para>
  3734. Acquire the lock on the file in preparation for writing to it.
  3735. Return a stream pointing to the file. <see cref="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock"/>
  3736. must be called to release the lock on the output file.
  3737. </para>
  3738. </remarks>
  3739. </member>
  3740. <member name="M:log4net.Appender.FileAppender.MinimalLock.ReleaseLock">
  3741. <summary>
  3742. Release the lock on the file
  3743. </summary>
  3744. <remarks>
  3745. <para>
  3746. Release the lock on the file. No further writes will be made to the
  3747. stream until <see cref="M:log4net.Appender.FileAppender.MinimalLock.AcquireLock"/> is called again.
  3748. </para>
  3749. </remarks>
  3750. </member>
  3751. <member name="M:log4net.Appender.FileAppender.MinimalLock.ActivateOptions">
  3752. <summary>
  3753. Initializes all resources used by this locking model.
  3754. </summary>
  3755. </member>
  3756. <member name="M:log4net.Appender.FileAppender.MinimalLock.OnClose">
  3757. <summary>
  3758. Disposes all resources that were initialized by this locking model.
  3759. </summary>
  3760. </member>
  3761. <member name="T:log4net.Appender.FileAppender.InterProcessLock">
  3762. <summary>
  3763. Provides cross-process file locking.
  3764. </summary>
  3765. <author>Ron Grabowski</author>
  3766. <author>Steve Wranovsky</author>
  3767. </member>
  3768. <member name="M:log4net.Appender.FileAppender.InterProcessLock.OpenFile(System.String,System.Boolean,System.Text.Encoding)">
  3769. <summary>
  3770. Open the file specified and prepare for logging.
  3771. </summary>
  3772. <param name="filename">The filename to use</param>
  3773. <param name="append">Whether to append to the file, or overwrite</param>
  3774. <param name="encoding">The encoding to use</param>
  3775. <remarks>
  3776. <para>
  3777. Open the file specified and prepare for logging.
  3778. No writes will be made until <see cref="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock"/> is called.
  3779. Must be called before any calls to <see cref="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock"/>,
  3780. -<see cref="M:log4net.Appender.FileAppender.InterProcessLock.ReleaseLock"/> and <see cref="M:log4net.Appender.FileAppender.InterProcessLock.CloseFile"/>.
  3781. </para>
  3782. </remarks>
  3783. </member>
  3784. <member name="M:log4net.Appender.FileAppender.InterProcessLock.CloseFile">
  3785. <summary>
  3786. Close the file
  3787. </summary>
  3788. <remarks>
  3789. <para>
  3790. Close the file. No further writes will be made.
  3791. </para>
  3792. </remarks>
  3793. </member>
  3794. <member name="M:log4net.Appender.FileAppender.InterProcessLock.AcquireLock">
  3795. <summary>
  3796. Acquire the lock on the file
  3797. </summary>
  3798. <returns>A stream that is ready to be written to.</returns>
  3799. <remarks>
  3800. <para>
  3801. Does nothing. The lock is already taken
  3802. </para>
  3803. </remarks>
  3804. </member>
  3805. <member name="M:log4net.Appender.FileAppender.InterProcessLock.ReleaseLock">
  3806. <summary>
  3807. Releases the lock and allows others to acquire a lock.
  3808. </summary>
  3809. </member>
  3810. <member name="M:log4net.Appender.FileAppender.InterProcessLock.ActivateOptions">
  3811. <summary>
  3812. Initializes all resources used by this locking model.
  3813. </summary>
  3814. </member>
  3815. <member name="M:log4net.Appender.FileAppender.InterProcessLock.OnClose">
  3816. <summary>
  3817. Disposes all resources that were initialized by this locking model.
  3818. </summary>
  3819. </member>
  3820. <member name="M:log4net.Appender.FileAppender.#ctor">
  3821. <summary>
  3822. Default constructor
  3823. </summary>
  3824. <remarks>
  3825. <para>
  3826. Default constructor
  3827. </para>
  3828. </remarks>
  3829. </member>
  3830. <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String,System.Boolean)">
  3831. <summary>
  3832. Construct a new appender using the layout, file and append mode.
  3833. </summary>
  3834. <param name="layout">the layout to use with this appender</param>
  3835. <param name="filename">the full path to the file to write to</param>
  3836. <param name="append">flag to indicate if the file should be appended to</param>
  3837. <remarks>
  3838. <para>
  3839. Obsolete constructor.
  3840. </para>
  3841. </remarks>
  3842. </member>
  3843. <member name="M:log4net.Appender.FileAppender.#ctor(log4net.Layout.ILayout,System.String)">
  3844. <summary>
  3845. Construct a new appender using the layout and file specified.
  3846. The file will be appended to.
  3847. </summary>
  3848. <param name="layout">the layout to use with this appender</param>
  3849. <param name="filename">the full path to the file to write to</param>
  3850. <remarks>
  3851. <para>
  3852. Obsolete constructor.
  3853. </para>
  3854. </remarks>
  3855. </member>
  3856. <member name="P:log4net.Appender.FileAppender.File">
  3857. <summary>
  3858. Gets or sets the path to the file that logging will be written to.
  3859. </summary>
  3860. <value>
  3861. The path to the file that logging will be written to.
  3862. </value>
  3863. <remarks>
  3864. <para>
  3865. If the path is relative it is taken as relative from
  3866. the application base directory.
  3867. </para>
  3868. </remarks>
  3869. </member>
  3870. <member name="P:log4net.Appender.FileAppender.AppendToFile">
  3871. <summary>
  3872. Gets or sets a flag that indicates whether the file should be
  3873. appended to or overwritten.
  3874. </summary>
  3875. <value>
  3876. Indicates whether the file should be appended to or overwritten.
  3877. </value>
  3878. <remarks>
  3879. <para>
  3880. If the value is set to false then the file will be overwritten, if
  3881. it is set to true then the file will be appended to.
  3882. </para>
  3883. The default value is true.
  3884. </remarks>
  3885. </member>
  3886. <member name="P:log4net.Appender.FileAppender.Encoding">
  3887. <summary>
  3888. Gets or sets <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
  3889. </summary>
  3890. <value>
  3891. The <see cref="P:log4net.Appender.FileAppender.Encoding"/> used to write to the file.
  3892. </value>
  3893. <remarks>
  3894. <para>
  3895. The default encoding set is <see cref="P:System.Text.Encoding.Default"/>
  3896. which is the encoding for the system's current ANSI code page.
  3897. </para>
  3898. </remarks>
  3899. </member>
  3900. <member name="P:log4net.Appender.FileAppender.SecurityContext">
  3901. <summary>
  3902. Gets or sets the <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
  3903. </summary>
  3904. <value>
  3905. The <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> used to write to the file.
  3906. </value>
  3907. <remarks>
  3908. <para>
  3909. Unless a <see cref="P:log4net.Appender.FileAppender.SecurityContext"/> specified here for this appender
  3910. the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
  3911. security context to use. The default behavior is to use the security context
  3912. of the current thread.
  3913. </para>
  3914. </remarks>
  3915. </member>
  3916. <member name="P:log4net.Appender.FileAppender.LockingModel">
  3917. <summary>
  3918. Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
  3919. </summary>
  3920. <value>
  3921. The <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to lock the file.
  3922. </value>
  3923. <remarks>
  3924. <para>
  3925. Gets or sets the <see cref="P:log4net.Appender.FileAppender.LockingModel"/> used to handle locking of the file.
  3926. </para>
  3927. <para>
  3928. There are three built in locking models, <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>, <see cref="T:log4net.Appender.FileAppender.MinimalLock"/> and <see cref="T:log4net.Appender.FileAppender.InterProcessLock"/> .
  3929. The first locks the file from the start of logging to the end, the
  3930. second locks only for the minimal amount of time when logging each message
  3931. and the last synchronizes processes using a named system wide Mutex.
  3932. </para>
  3933. <para>
  3934. The default locking model is the <see cref="T:log4net.Appender.FileAppender.ExclusiveLock"/>.
  3935. </para>
  3936. </remarks>
  3937. </member>
  3938. <member name="M:log4net.Appender.FileAppender.ActivateOptions">
  3939. <summary>
  3940. Activate the options on the file appender.
  3941. </summary>
  3942. <remarks>
  3943. <para>
  3944. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  3945. activation scheme. The <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> method must
  3946. be called on this object after the configuration properties have
  3947. been set. Until <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> is called this
  3948. object is in an undefined state and must not be used.
  3949. </para>
  3950. <para>
  3951. If any of the configuration properties are modified then
  3952. <see cref="M:log4net.Appender.FileAppender.ActivateOptions"/> must be called again.
  3953. </para>
  3954. <para>
  3955. This will cause the file to be opened.
  3956. </para>
  3957. </remarks>
  3958. </member>
  3959. <member name="M:log4net.Appender.FileAppender.Reset">
  3960. <summary>
  3961. Closes any previously opened file and calls the parent's <see cref="M:log4net.Appender.TextWriterAppender.Reset"/>.
  3962. </summary>
  3963. <remarks>
  3964. <para>
  3965. Resets the filename and the file stream.
  3966. </para>
  3967. </remarks>
  3968. </member>
  3969. <member name="M:log4net.Appender.FileAppender.OnClose">
  3970. <summary>
  3971. Close this appender instance. The underlying stream or writer is also closed.
  3972. </summary>
  3973. </member>
  3974. <member name="M:log4net.Appender.FileAppender.PrepareWriter">
  3975. <summary>
  3976. Called to initialize the file writer
  3977. </summary>
  3978. <remarks>
  3979. <para>
  3980. Will be called for each logged message until the file is
  3981. successfully opened.
  3982. </para>
  3983. </remarks>
  3984. </member>
  3985. <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent)">
  3986. <summary>
  3987. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/>
  3988. method.
  3989. </summary>
  3990. <param name="loggingEvent">The event to log.</param>
  3991. <remarks>
  3992. <para>
  3993. Writes a log statement to the output stream if the output stream exists
  3994. and is writable.
  3995. </para>
  3996. <para>
  3997. The format of the output will depend on the appender's layout.
  3998. </para>
  3999. </remarks>
  4000. </member>
  4001. <member name="M:log4net.Appender.FileAppender.Append(log4net.Core.LoggingEvent[])">
  4002. <summary>
  4003. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent[])"/>
  4004. method.
  4005. </summary>
  4006. <param name="loggingEvents">The array of events to log.</param>
  4007. <remarks>
  4008. <para>
  4009. Acquires the output file locks once before writing all the events to
  4010. the stream.
  4011. </para>
  4012. </remarks>
  4013. </member>
  4014. <member name="M:log4net.Appender.FileAppender.WriteFooter">
  4015. <summary>
  4016. Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
  4017. </summary>
  4018. <remarks>
  4019. <para>
  4020. Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
  4021. </para>
  4022. </remarks>
  4023. </member>
  4024. <member name="M:log4net.Appender.FileAppender.WriteHeader">
  4025. <summary>
  4026. Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
  4027. </summary>
  4028. <remarks>
  4029. <para>
  4030. Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
  4031. </para>
  4032. </remarks>
  4033. </member>
  4034. <member name="M:log4net.Appender.FileAppender.CloseWriter">
  4035. <summary>
  4036. Closes the underlying <see cref="T:System.IO.TextWriter"/>.
  4037. </summary>
  4038. <remarks>
  4039. <para>
  4040. Closes the underlying <see cref="T:System.IO.TextWriter"/>.
  4041. </para>
  4042. </remarks>
  4043. </member>
  4044. <member name="M:log4net.Appender.FileAppender.CloseFile">
  4045. <summary>
  4046. Closes the previously opened file.
  4047. </summary>
  4048. <remarks>
  4049. <para>
  4050. Writes the <see cref="P:log4net.Layout.ILayout.Footer"/> to the file and then
  4051. closes the file.
  4052. </para>
  4053. </remarks>
  4054. </member>
  4055. <member name="M:log4net.Appender.FileAppender.SafeOpenFile(System.String,System.Boolean)">
  4056. <summary>
  4057. Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
  4058. </summary>
  4059. <param name="fileName">The path to the log file. Must be a fully qualified path.</param>
  4060. <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
  4061. <remarks>
  4062. <para>
  4063. Calls <see cref="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)"/> but guarantees not to throw an exception.
  4064. Errors are passed to the <see cref="P:log4net.Appender.TextWriterAppender.ErrorHandler"/>.
  4065. </para>
  4066. </remarks>
  4067. </member>
  4068. <member name="M:log4net.Appender.FileAppender.OpenFile(System.String,System.Boolean)">
  4069. <summary>
  4070. Sets and <i>opens</i> the file where the log output will go. The specified file must be writable.
  4071. </summary>
  4072. <param name="fileName">The path to the log file. Must be a fully qualified path.</param>
  4073. <param name="append">If true will append to fileName. Otherwise will truncate fileName</param>
  4074. <remarks>
  4075. <para>
  4076. If there was already an opened file, then the previous file
  4077. is closed first.
  4078. </para>
  4079. <para>
  4080. This method will ensure that the directory structure
  4081. for the <paramref name="fileName"/> specified exists.
  4082. </para>
  4083. </remarks>
  4084. </member>
  4085. <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.Stream)">
  4086. <summary>
  4087. Sets the quiet writer used for file output
  4088. </summary>
  4089. <param name="fileStream">the file stream that has been opened for writing</param>
  4090. <remarks>
  4091. <para>
  4092. This implementation of <see cref="M:SetQWForFiles(Stream)"/> creates a <see cref="T:System.IO.StreamWriter"/>
  4093. over the <paramref name="fileStream"/> and passes it to the
  4094. <see cref="M:SetQWForFiles(TextWriter)"/> method.
  4095. </para>
  4096. <para>
  4097. This method can be overridden by sub classes that want to wrap the
  4098. <see cref="T:System.IO.Stream"/> in some way, for example to encrypt the output
  4099. data using a <c>System.Security.Cryptography.CryptoStream</c>.
  4100. </para>
  4101. </remarks>
  4102. </member>
  4103. <member name="M:log4net.Appender.FileAppender.SetQWForFiles(System.IO.TextWriter)">
  4104. <summary>
  4105. Sets the quiet writer being used.
  4106. </summary>
  4107. <param name="writer">the writer over the file stream that has been opened for writing</param>
  4108. <remarks>
  4109. <para>
  4110. This method can be overridden by sub classes that want to
  4111. wrap the <see cref="T:System.IO.TextWriter"/> in some way.
  4112. </para>
  4113. </remarks>
  4114. </member>
  4115. <member name="M:log4net.Appender.FileAppender.ConvertToFullPath(System.String)">
  4116. <summary>
  4117. Convert a path into a fully qualified path.
  4118. </summary>
  4119. <param name="path">The path to convert.</param>
  4120. <returns>The fully qualified path.</returns>
  4121. <remarks>
  4122. <para>
  4123. Converts the path specified to a fully
  4124. qualified path. If the path is relative it is
  4125. taken as relative from the application base
  4126. directory.
  4127. </para>
  4128. </remarks>
  4129. </member>
  4130. <member name="F:log4net.Appender.FileAppender.m_appendToFile">
  4131. <summary>
  4132. Flag to indicate if we should append to the file
  4133. or overwrite the file. The default is to append.
  4134. </summary>
  4135. </member>
  4136. <member name="F:log4net.Appender.FileAppender.m_fileName">
  4137. <summary>
  4138. The name of the log file.
  4139. </summary>
  4140. </member>
  4141. <member name="F:log4net.Appender.FileAppender.m_encoding">
  4142. <summary>
  4143. The encoding to use for the file stream.
  4144. </summary>
  4145. </member>
  4146. <member name="F:log4net.Appender.FileAppender.m_securityContext">
  4147. <summary>
  4148. The security context to use for privileged calls
  4149. </summary>
  4150. </member>
  4151. <member name="F:log4net.Appender.FileAppender.m_stream">
  4152. <summary>
  4153. The stream to log to. Has added locking semantics
  4154. </summary>
  4155. </member>
  4156. <member name="F:log4net.Appender.FileAppender.m_lockingModel">
  4157. <summary>
  4158. The locking model to use
  4159. </summary>
  4160. </member>
  4161. <member name="F:log4net.Appender.FileAppender.declaringType">
  4162. <summary>
  4163. The fully qualified type of the FileAppender class.
  4164. </summary>
  4165. <remarks>
  4166. Used by the internal logger to record the Type of the
  4167. log message.
  4168. </remarks>
  4169. </member>
  4170. <member name="T:log4net.Appender.ForwardingAppender">
  4171. <summary>
  4172. This appender forwards logging events to attached appenders.
  4173. </summary>
  4174. <remarks>
  4175. <para>
  4176. The forwarding appender can be used to specify different thresholds
  4177. and filters for the same appender at different locations within the hierarchy.
  4178. </para>
  4179. </remarks>
  4180. <author>Nicko Cadell</author>
  4181. <author>Gert Driesen</author>
  4182. </member>
  4183. <member name="M:log4net.Appender.ForwardingAppender.#ctor">
  4184. <summary>
  4185. Initializes a new instance of the <see cref="T:log4net.Appender.ForwardingAppender" /> class.
  4186. </summary>
  4187. <remarks>
  4188. <para>
  4189. Default constructor.
  4190. </para>
  4191. </remarks>
  4192. </member>
  4193. <member name="M:log4net.Appender.ForwardingAppender.OnClose">
  4194. <summary>
  4195. Closes the appender and releases resources.
  4196. </summary>
  4197. <remarks>
  4198. <para>
  4199. Releases any resources allocated within the appender such as file handles,
  4200. network connections, etc.
  4201. </para>
  4202. <para>
  4203. It is a programming error to append to a closed appender.
  4204. </para>
  4205. </remarks>
  4206. </member>
  4207. <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.Core.LoggingEvent)">
  4208. <summary>
  4209. Forward the logging event to the attached appenders
  4210. </summary>
  4211. <param name="loggingEvent">The event to log.</param>
  4212. <remarks>
  4213. <para>
  4214. Delivers the logging event to all the attached appenders.
  4215. </para>
  4216. </remarks>
  4217. </member>
  4218. <member name="M:log4net.Appender.ForwardingAppender.Append(log4net.Core.LoggingEvent[])">
  4219. <summary>
  4220. Forward the logging events to the attached appenders
  4221. </summary>
  4222. <param name="loggingEvents">The array of events to log.</param>
  4223. <remarks>
  4224. <para>
  4225. Delivers the logging events to all the attached appenders.
  4226. </para>
  4227. </remarks>
  4228. </member>
  4229. <member name="M:log4net.Appender.ForwardingAppender.AddAppender(log4net.Appender.IAppender)">
  4230. <summary>
  4231. Adds an <see cref="T:log4net.Appender.IAppender" /> to the list of appenders of this
  4232. instance.
  4233. </summary>
  4234. <param name="newAppender">The <see cref="T:log4net.Appender.IAppender" /> to add to this appender.</param>
  4235. <remarks>
  4236. <para>
  4237. If the specified <see cref="T:log4net.Appender.IAppender" /> is already in the list of
  4238. appenders, then it won't be added again.
  4239. </para>
  4240. </remarks>
  4241. </member>
  4242. <member name="P:log4net.Appender.ForwardingAppender.Appenders">
  4243. <summary>
  4244. Gets the appenders contained in this appender as an
  4245. <see cref="T:System.Collections.ICollection"/>.
  4246. </summary>
  4247. <remarks>
  4248. If no appenders can be found, then an <see cref="T:log4net.Util.EmptyCollection"/>
  4249. is returned.
  4250. </remarks>
  4251. <returns>
  4252. A collection of the appenders in this appender.
  4253. </returns>
  4254. </member>
  4255. <member name="M:log4net.Appender.ForwardingAppender.GetAppender(System.String)">
  4256. <summary>
  4257. Looks for the appender with the specified name.
  4258. </summary>
  4259. <param name="name">The name of the appender to lookup.</param>
  4260. <returns>
  4261. The appender with the specified name, or <c>null</c>.
  4262. </returns>
  4263. <remarks>
  4264. <para>
  4265. Get the named appender attached to this appender.
  4266. </para>
  4267. </remarks>
  4268. </member>
  4269. <member name="M:log4net.Appender.ForwardingAppender.RemoveAllAppenders">
  4270. <summary>
  4271. Removes all previously added appenders from this appender.
  4272. </summary>
  4273. <remarks>
  4274. <para>
  4275. This is useful when re-reading configuration information.
  4276. </para>
  4277. </remarks>
  4278. </member>
  4279. <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(log4net.Appender.IAppender)">
  4280. <summary>
  4281. Removes the specified appender from the list of appenders.
  4282. </summary>
  4283. <param name="appender">The appender to remove.</param>
  4284. <returns>The appender removed from the list</returns>
  4285. <remarks>
  4286. The appender removed is not closed.
  4287. If you are discarding the appender you must call
  4288. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  4289. </remarks>
  4290. </member>
  4291. <member name="M:log4net.Appender.ForwardingAppender.RemoveAppender(System.String)">
  4292. <summary>
  4293. Removes the appender with the specified name from the list of appenders.
  4294. </summary>
  4295. <param name="name">The name of the appender to remove.</param>
  4296. <returns>The appender removed from the list</returns>
  4297. <remarks>
  4298. The appender removed is not closed.
  4299. If you are discarding the appender you must call
  4300. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  4301. </remarks>
  4302. </member>
  4303. <member name="F:log4net.Appender.ForwardingAppender.m_appenderAttachedImpl">
  4304. <summary>
  4305. Implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
  4306. </summary>
  4307. </member>
  4308. <member name="T:log4net.Appender.IAppender">
  4309. <summary>
  4310. Implement this interface for your own strategies for printing log statements.
  4311. </summary>
  4312. <remarks>
  4313. <para>
  4314. Implementors should consider extending the <see cref="T:log4net.Appender.AppenderSkeleton"/>
  4315. class which provides a default implementation of this interface.
  4316. </para>
  4317. <para>
  4318. Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
  4319. they would require that the <see cref="M:IOptionHandler.ActivateOptions()"/> method
  4320. be called after the appenders properties have been configured.
  4321. </para>
  4322. </remarks>
  4323. <author>Nicko Cadell</author>
  4324. <author>Gert Driesen</author>
  4325. </member>
  4326. <member name="M:log4net.Appender.IAppender.Close">
  4327. <summary>
  4328. Closes the appender and releases resources.
  4329. </summary>
  4330. <remarks>
  4331. <para>
  4332. Releases any resources allocated within the appender such as file handles,
  4333. network connections, etc.
  4334. </para>
  4335. <para>
  4336. It is a programming error to append to a closed appender.
  4337. </para>
  4338. </remarks>
  4339. </member>
  4340. <member name="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)">
  4341. <summary>
  4342. Log the logging event in Appender specific way.
  4343. </summary>
  4344. <param name="loggingEvent">The event to log</param>
  4345. <remarks>
  4346. <para>
  4347. This method is called to log a message into this appender.
  4348. </para>
  4349. </remarks>
  4350. </member>
  4351. <member name="P:log4net.Appender.IAppender.Name">
  4352. <summary>
  4353. Gets or sets the name of this appender.
  4354. </summary>
  4355. <value>The name of the appender.</value>
  4356. <remarks>
  4357. <para>The name uniquely identifies the appender.</para>
  4358. </remarks>
  4359. </member>
  4360. <member name="T:log4net.Appender.IBulkAppender">
  4361. <summary>
  4362. Interface for appenders that support bulk logging.
  4363. </summary>
  4364. <remarks>
  4365. <para>
  4366. This interface extends the <see cref="T:log4net.Appender.IAppender"/> interface to
  4367. support bulk logging of <see cref="T:log4net.Core.LoggingEvent"/> objects. Appenders
  4368. should only implement this interface if they can bulk log efficiently.
  4369. </para>
  4370. </remarks>
  4371. <author>Nicko Cadell</author>
  4372. </member>
  4373. <member name="M:log4net.Appender.IBulkAppender.DoAppend(log4net.Core.LoggingEvent[])">
  4374. <summary>
  4375. Log the array of logging events in Appender specific way.
  4376. </summary>
  4377. <param name="loggingEvents">The events to log</param>
  4378. <remarks>
  4379. <para>
  4380. This method is called to log an array of events into this appender.
  4381. </para>
  4382. </remarks>
  4383. </member>
  4384. <member name="T:log4net.Appender.IFlushable">
  4385. <summary>
  4386. Interface that can be implemented by Appenders that buffer logging data and expose a <see cref="M:log4net.Appender.IFlushable.Flush(System.Int32)"/> method.
  4387. </summary>
  4388. </member>
  4389. <member name="M:log4net.Appender.IFlushable.Flush(System.Int32)">
  4390. <summary>
  4391. Flushes any buffered log data.
  4392. </summary>
  4393. <remarks>
  4394. Appenders that implement the <see cref="M:log4net.Appender.IFlushable.Flush(System.Int32)"/> method must do so in a thread-safe manner: it can be called concurrently with
  4395. the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method.
  4396. <para>
  4397. Typically this is done by locking on the Appender instance, e.g.:
  4398. <code>
  4399. <![CDATA[
  4400. public bool Flush(int millisecondsTimeout)
  4401. {
  4402. lock(this)
  4403. {
  4404. // Flush buffered logging data
  4405. ...
  4406. }
  4407. }
  4408. ]]>
  4409. </code>
  4410. </para>
  4411. <para>
  4412. The <paramref name="millisecondsTimeout"/> parameter is only relevant for appenders that process logging events asynchronously,
  4413. such as <see cref="T:log4net.Appender.RemotingAppender"/>.
  4414. </para>
  4415. </remarks>
  4416. <param name="millisecondsTimeout">The maximum time to wait for logging events to be flushed.</param>
  4417. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  4418. </member>
  4419. <member name="T:log4net.Appender.LocalSyslogAppender">
  4420. <summary>
  4421. Logs events to a local syslog service.
  4422. </summary>
  4423. <remarks>
  4424. <note>
  4425. This appender uses the POSIX libc library functions <c>openlog</c>, <c>syslog</c>, and <c>closelog</c>.
  4426. If these functions are not available on the local system then this appender will not work!
  4427. </note>
  4428. <para>
  4429. The functions <c>openlog</c>, <c>syslog</c>, and <c>closelog</c> are specified in SUSv2 and
  4430. POSIX 1003.1-2001 standards. These are used to log messages to the local syslog service.
  4431. </para>
  4432. <para>
  4433. This appender talks to a local syslog service. If you need to log to a remote syslog
  4434. daemon and you cannot configure your local syslog service to do this you may be
  4435. able to use the <see cref="T:log4net.Appender.RemoteSyslogAppender"/> to log via UDP.
  4436. </para>
  4437. <para>
  4438. Syslog messages must have a facility and and a severity. The severity
  4439. is derived from the Level of the logging event.
  4440. The facility must be chosen from the set of defined syslog
  4441. <see cref="T:log4net.Appender.LocalSyslogAppender.SyslogFacility"/> values. The facilities list is predefined
  4442. and cannot be extended.
  4443. </para>
  4444. <para>
  4445. An identifier is specified with each log message. This can be specified
  4446. by setting the <see cref="P:log4net.Appender.LocalSyslogAppender.Identity"/> property. The identity (also know
  4447. as the tag) must not contain white space. The default value for the
  4448. identity is the application name (from <see cref="P:log4net.Util.SystemInfo.ApplicationFriendlyName"/>).
  4449. </para>
  4450. </remarks>
  4451. <author>Rob Lyon</author>
  4452. <author>Nicko Cadell</author>
  4453. </member>
  4454. <member name="T:log4net.Appender.LocalSyslogAppender.SyslogSeverity">
  4455. <summary>
  4456. syslog severities
  4457. </summary>
  4458. <remarks>
  4459. <para>
  4460. The log4net Level maps to a syslog severity using the
  4461. <see cref="M:log4net.Appender.LocalSyslogAppender.AddMapping(log4net.Appender.LocalSyslogAppender.LevelSeverity)"/> method and the <see cref="T:log4net.Appender.LocalSyslogAppender.LevelSeverity"/>
  4462. class. The severity is set on <see cref="P:log4net.Appender.LocalSyslogAppender.LevelSeverity.Severity"/>.
  4463. </para>
  4464. </remarks>
  4465. </member>
  4466. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Emergency">
  4467. <summary>
  4468. system is unusable
  4469. </summary>
  4470. </member>
  4471. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Alert">
  4472. <summary>
  4473. action must be taken immediately
  4474. </summary>
  4475. </member>
  4476. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Critical">
  4477. <summary>
  4478. critical conditions
  4479. </summary>
  4480. </member>
  4481. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Error">
  4482. <summary>
  4483. error conditions
  4484. </summary>
  4485. </member>
  4486. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Warning">
  4487. <summary>
  4488. warning conditions
  4489. </summary>
  4490. </member>
  4491. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Notice">
  4492. <summary>
  4493. normal but significant condition
  4494. </summary>
  4495. </member>
  4496. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Informational">
  4497. <summary>
  4498. informational
  4499. </summary>
  4500. </member>
  4501. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogSeverity.Debug">
  4502. <summary>
  4503. debug-level messages
  4504. </summary>
  4505. </member>
  4506. <member name="T:log4net.Appender.LocalSyslogAppender.SyslogFacility">
  4507. <summary>
  4508. syslog facilities
  4509. </summary>
  4510. <remarks>
  4511. <para>
  4512. The syslog facility defines which subsystem the logging comes from.
  4513. This is set on the <see cref="P:log4net.Appender.LocalSyslogAppender.Facility"/> property.
  4514. </para>
  4515. </remarks>
  4516. </member>
  4517. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Kernel">
  4518. <summary>
  4519. kernel messages
  4520. </summary>
  4521. </member>
  4522. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User">
  4523. <summary>
  4524. random user-level messages
  4525. </summary>
  4526. </member>
  4527. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Mail">
  4528. <summary>
  4529. mail system
  4530. </summary>
  4531. </member>
  4532. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Daemons">
  4533. <summary>
  4534. system daemons
  4535. </summary>
  4536. </member>
  4537. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Authorization">
  4538. <summary>
  4539. security/authorization messages
  4540. </summary>
  4541. </member>
  4542. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Syslog">
  4543. <summary>
  4544. messages generated internally by syslogd
  4545. </summary>
  4546. </member>
  4547. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Printer">
  4548. <summary>
  4549. line printer subsystem
  4550. </summary>
  4551. </member>
  4552. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.News">
  4553. <summary>
  4554. network news subsystem
  4555. </summary>
  4556. </member>
  4557. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Uucp">
  4558. <summary>
  4559. UUCP subsystem
  4560. </summary>
  4561. </member>
  4562. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Clock">
  4563. <summary>
  4564. clock (cron/at) daemon
  4565. </summary>
  4566. </member>
  4567. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Authorization2">
  4568. <summary>
  4569. security/authorization messages (private)
  4570. </summary>
  4571. </member>
  4572. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Ftp">
  4573. <summary>
  4574. ftp daemon
  4575. </summary>
  4576. </member>
  4577. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Ntp">
  4578. <summary>
  4579. NTP subsystem
  4580. </summary>
  4581. </member>
  4582. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Audit">
  4583. <summary>
  4584. log audit
  4585. </summary>
  4586. </member>
  4587. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Alert">
  4588. <summary>
  4589. log alert
  4590. </summary>
  4591. </member>
  4592. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Clock2">
  4593. <summary>
  4594. clock daemon
  4595. </summary>
  4596. </member>
  4597. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local0">
  4598. <summary>
  4599. reserved for local use
  4600. </summary>
  4601. </member>
  4602. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local1">
  4603. <summary>
  4604. reserved for local use
  4605. </summary>
  4606. </member>
  4607. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local2">
  4608. <summary>
  4609. reserved for local use
  4610. </summary>
  4611. </member>
  4612. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local3">
  4613. <summary>
  4614. reserved for local use
  4615. </summary>
  4616. </member>
  4617. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local4">
  4618. <summary>
  4619. reserved for local use
  4620. </summary>
  4621. </member>
  4622. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local5">
  4623. <summary>
  4624. reserved for local use
  4625. </summary>
  4626. </member>
  4627. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local6">
  4628. <summary>
  4629. reserved for local use
  4630. </summary>
  4631. </member>
  4632. <member name="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.Local7">
  4633. <summary>
  4634. reserved for local use
  4635. </summary>
  4636. </member>
  4637. <member name="M:log4net.Appender.LocalSyslogAppender.#ctor">
  4638. <summary>
  4639. Initializes a new instance of the <see cref="T:log4net.Appender.LocalSyslogAppender" /> class.
  4640. </summary>
  4641. <remarks>
  4642. This instance of the <see cref="T:log4net.Appender.LocalSyslogAppender" /> class is set up to write
  4643. to a local syslog service.
  4644. </remarks>
  4645. </member>
  4646. <member name="P:log4net.Appender.LocalSyslogAppender.Identity">
  4647. <summary>
  4648. Message identity
  4649. </summary>
  4650. <remarks>
  4651. <para>
  4652. An identifier is specified with each log message. This can be specified
  4653. by setting the <see cref="P:log4net.Appender.LocalSyslogAppender.Identity"/> property. The identity (also know
  4654. as the tag) must not contain white space. The default value for the
  4655. identity is the application name (from <see cref="P:log4net.Util.SystemInfo.ApplicationFriendlyName"/>).
  4656. </para>
  4657. </remarks>
  4658. </member>
  4659. <member name="P:log4net.Appender.LocalSyslogAppender.Facility">
  4660. <summary>
  4661. Syslog facility
  4662. </summary>
  4663. <remarks>
  4664. Set to one of the <see cref="T:log4net.Appender.LocalSyslogAppender.SyslogFacility"/> values. The list of
  4665. facilities is predefined and cannot be extended. The default value
  4666. is <see cref="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User"/>.
  4667. </remarks>
  4668. </member>
  4669. <member name="M:log4net.Appender.LocalSyslogAppender.AddMapping(log4net.Appender.LocalSyslogAppender.LevelSeverity)">
  4670. <summary>
  4671. Add a mapping of level to severity
  4672. </summary>
  4673. <param name="mapping">The mapping to add</param>
  4674. <remarks>
  4675. <para>
  4676. Adds a <see cref="T:log4net.Appender.LocalSyslogAppender.LevelSeverity"/> to this appender.
  4677. </para>
  4678. </remarks>
  4679. </member>
  4680. <member name="M:log4net.Appender.LocalSyslogAppender.ActivateOptions">
  4681. <summary>
  4682. Initialize the appender based on the options set.
  4683. </summary>
  4684. <remarks>
  4685. <para>
  4686. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  4687. activation scheme. The <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> method must
  4688. be called on this object after the configuration properties have
  4689. been set. Until <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> is called this
  4690. object is in an undefined state and must not be used.
  4691. </para>
  4692. <para>
  4693. If any of the configuration properties are modified then
  4694. <see cref="M:log4net.Appender.LocalSyslogAppender.ActivateOptions"/> must be called again.
  4695. </para>
  4696. </remarks>
  4697. </member>
  4698. <member name="M:log4net.Appender.LocalSyslogAppender.Append(log4net.Core.LoggingEvent)">
  4699. <summary>
  4700. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
  4701. </summary>
  4702. <param name="loggingEvent">The event to log.</param>
  4703. <remarks>
  4704. <para>
  4705. Writes the event to a remote syslog daemon.
  4706. </para>
  4707. <para>
  4708. The format of the output will depend on the appender's layout.
  4709. </para>
  4710. </remarks>
  4711. </member>
  4712. <member name="M:log4net.Appender.LocalSyslogAppender.OnClose">
  4713. <summary>
  4714. Close the syslog when the appender is closed
  4715. </summary>
  4716. <remarks>
  4717. <para>
  4718. Close the syslog when the appender is closed
  4719. </para>
  4720. </remarks>
  4721. </member>
  4722. <member name="P:log4net.Appender.LocalSyslogAppender.RequiresLayout">
  4723. <summary>
  4724. This appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
  4725. </summary>
  4726. <value><c>true</c></value>
  4727. <remarks>
  4728. <para>
  4729. This appender requires a <see cref="P:log4net.Appender.AppenderSkeleton.Layout"/> to be set.
  4730. </para>
  4731. </remarks>
  4732. </member>
  4733. <member name="M:log4net.Appender.LocalSyslogAppender.GetSeverity(log4net.Core.Level)">
  4734. <summary>
  4735. Translates a log4net level to a syslog severity.
  4736. </summary>
  4737. <param name="level">A log4net level.</param>
  4738. <returns>A syslog severity.</returns>
  4739. <remarks>
  4740. <para>
  4741. Translates a log4net level to a syslog severity.
  4742. </para>
  4743. </remarks>
  4744. </member>
  4745. <member name="M:log4net.Appender.LocalSyslogAppender.GeneratePriority(log4net.Appender.LocalSyslogAppender.SyslogFacility,log4net.Appender.LocalSyslogAppender.SyslogSeverity)">
  4746. <summary>
  4747. Generate a syslog priority.
  4748. </summary>
  4749. <param name="facility">The syslog facility.</param>
  4750. <param name="severity">The syslog severity.</param>
  4751. <returns>A syslog priority.</returns>
  4752. </member>
  4753. <member name="F:log4net.Appender.LocalSyslogAppender.m_facility">
  4754. <summary>
  4755. The facility. The default facility is <see cref="F:log4net.Appender.LocalSyslogAppender.SyslogFacility.User"/>.
  4756. </summary>
  4757. </member>
  4758. <member name="F:log4net.Appender.LocalSyslogAppender.m_identity">
  4759. <summary>
  4760. The message identity
  4761. </summary>
  4762. </member>
  4763. <member name="F:log4net.Appender.LocalSyslogAppender.m_handleToIdentity">
  4764. <summary>
  4765. Marshaled handle to the identity string. We have to hold on to the
  4766. string as the <c>openlog</c> and <c>syslog</c> APIs just hold the
  4767. pointer to the ident and dereference it for each log message.
  4768. </summary>
  4769. </member>
  4770. <member name="F:log4net.Appender.LocalSyslogAppender.m_levelMapping">
  4771. <summary>
  4772. Mapping from level object to syslog severity
  4773. </summary>
  4774. </member>
  4775. <member name="M:log4net.Appender.LocalSyslogAppender.openlog(System.IntPtr,System.Int32,log4net.Appender.LocalSyslogAppender.SyslogFacility)">
  4776. <summary>
  4777. Open connection to system logger.
  4778. </summary>
  4779. </member>
  4780. <member name="M:log4net.Appender.LocalSyslogAppender.syslog(System.Int32,System.String,System.String)">
  4781. <summary>
  4782. Generate a log message.
  4783. </summary>
  4784. <remarks>
  4785. <para>
  4786. The libc syslog method takes a format string and a variable argument list similar
  4787. to the classic printf function. As this type of vararg list is not supported
  4788. by C# we need to specify the arguments explicitly. Here we have specified the
  4789. format string with a single message argument. The caller must set the format
  4790. string to <c>"%s"</c>.
  4791. </para>
  4792. </remarks>
  4793. </member>
  4794. <member name="M:log4net.Appender.LocalSyslogAppender.closelog">
  4795. <summary>
  4796. Close descriptor used to write to system logger.
  4797. </summary>
  4798. </member>
  4799. <member name="T:log4net.Appender.LocalSyslogAppender.LevelSeverity">
  4800. <summary>
  4801. A class to act as a mapping between the level that a logging call is made at and
  4802. the syslog severity that is should be logged at.
  4803. </summary>
  4804. <remarks>
  4805. <para>
  4806. A class to act as a mapping between the level that a logging call is made at and
  4807. the syslog severity that is should be logged at.
  4808. </para>
  4809. </remarks>
  4810. </member>
  4811. <member name="P:log4net.Appender.LocalSyslogAppender.LevelSeverity.Severity">
  4812. <summary>
  4813. The mapped syslog severity for the specified level
  4814. </summary>
  4815. <remarks>
  4816. <para>
  4817. Required property.
  4818. The mapped syslog severity for the specified level
  4819. </para>
  4820. </remarks>
  4821. </member>
  4822. <member name="T:log4net.Appender.ManagedColoredConsoleAppender">
  4823. <summary>
  4824. Appends colorful logging events to the console, using the .NET 2
  4825. built-in capabilities.
  4826. </summary>
  4827. <remarks>
  4828. <para>
  4829. ManagedColoredConsoleAppender appends log events to the standard output stream
  4830. or the error output stream using a layout specified by the
  4831. user. It also allows the color of a specific type of message to be set.
  4832. </para>
  4833. <para>
  4834. By default, all output is written to the console's standard output stream.
  4835. The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> property can be set to direct the output to the
  4836. error stream.
  4837. </para>
  4838. <para>
  4839. When configuring the colored console appender, mappings should be
  4840. specified to map logging levels to colors. For example:
  4841. </para>
  4842. <code lang="XML" escaped="true">
  4843. <mapping>
  4844. <level value="ERROR" />
  4845. <foreColor value="DarkRed" />
  4846. <backColor value="White" />
  4847. </mapping>
  4848. <mapping>
  4849. <level value="WARN" />
  4850. <foreColor value="Yellow" />
  4851. </mapping>
  4852. <mapping>
  4853. <level value="INFO" />
  4854. <foreColor value="White" />
  4855. </mapping>
  4856. <mapping>
  4857. <level value="DEBUG" />
  4858. <foreColor value="Blue" />
  4859. </mapping>
  4860. </code>
  4861. <para>
  4862. The Level is the standard log4net logging level while
  4863. ForeColor and BackColor are the values of <see cref="T:System.ConsoleColor"/>
  4864. enumeration.
  4865. </para>
  4866. <para>
  4867. Based on the ColoredConsoleAppender
  4868. </para>
  4869. </remarks>
  4870. <author>Rick Hobbs</author>
  4871. <author>Nicko Cadell</author>
  4872. <author>Pavlos Touboulidis</author>
  4873. </member>
  4874. <member name="M:log4net.Appender.ManagedColoredConsoleAppender.#ctor">
  4875. <summary>
  4876. Initializes a new instance of the <see cref="T:log4net.Appender.ManagedColoredConsoleAppender" /> class.
  4877. </summary>
  4878. <remarks>
  4879. The instance of the <see cref="T:log4net.Appender.ManagedColoredConsoleAppender" /> class is set up to write
  4880. to the standard output stream.
  4881. </remarks>
  4882. </member>
  4883. <member name="P:log4net.Appender.ManagedColoredConsoleAppender.Target">
  4884. <summary>
  4885. Target is the value of the console output stream.
  4886. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  4887. </summary>
  4888. <value>
  4889. Target is the value of the console output stream.
  4890. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  4891. </value>
  4892. <remarks>
  4893. <para>
  4894. Target is the value of the console output stream.
  4895. This is either <c>"Console.Out"</c> or <c>"Console.Error"</c>.
  4896. </para>
  4897. </remarks>
  4898. </member>
  4899. <member name="M:log4net.Appender.ManagedColoredConsoleAppender.AddMapping(log4net.Appender.ManagedColoredConsoleAppender.LevelColors)">
  4900. <summary>
  4901. Add a mapping of level to color - done by the config file
  4902. </summary>
  4903. <param name="mapping">The mapping to add</param>
  4904. <remarks>
  4905. <para>
  4906. Add a <see cref="T:log4net.Appender.ManagedColoredConsoleAppender.LevelColors"/> mapping to this appender.
  4907. Each mapping defines the foreground and background colors
  4908. for a level.
  4909. </para>
  4910. </remarks>
  4911. </member>
  4912. <member name="M:log4net.Appender.ManagedColoredConsoleAppender.Append(log4net.Core.LoggingEvent)">
  4913. <summary>
  4914. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(log4net.Core.LoggingEvent)"/> method.
  4915. </summary>
  4916. <param name="loggingEvent">The event to log.</param>
  4917. <remarks>
  4918. <para>
  4919. Writes the event to the console.
  4920. </para>
  4921. <para>
  4922. The format of the output will depend on the appender's layout.
  4923. </para>
  4924. </remarks>
  4925. </member>
  4926. <member name="P:log4net.Appender.ManagedColoredConsoleAppender.RequiresLayout">
  4927. <summary>
  4928. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  4929. </summary>
  4930. <value><c>true</c></value>
  4931. <remarks>
  4932. <para>
  4933. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  4934. </para>
  4935. </remarks>
  4936. </member>
  4937. <member name="M:log4net.Appender.ManagedColoredConsoleAppender.ActivateOptions">
  4938. <summary>
  4939. Initialize the options for this appender
  4940. </summary>
  4941. <remarks>
  4942. <para>
  4943. Initialize the level to color mappings set on this appender.
  4944. </para>
  4945. </remarks>
  4946. </member>
  4947. <member name="F:log4net.Appender.ManagedColoredConsoleAppender.ConsoleOut">
  4948. <summary>
  4949. The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> to use when writing to the Console
  4950. standard output stream.
  4951. </summary>
  4952. <remarks>
  4953. <para>
  4954. The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> to use when writing to the Console
  4955. standard output stream.
  4956. </para>
  4957. </remarks>
  4958. </member>
  4959. <member name="F:log4net.Appender.ManagedColoredConsoleAppender.ConsoleError">
  4960. <summary>
  4961. The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> to use when writing to the Console
  4962. standard error output stream.
  4963. </summary>
  4964. <remarks>
  4965. <para>
  4966. The <see cref="P:log4net.Appender.ManagedColoredConsoleAppender.Target"/> to use when writing to the Console
  4967. standard error output stream.
  4968. </para>
  4969. </remarks>
  4970. </member>
  4971. <member name="F:log4net.Appender.ManagedColoredConsoleAppender.m_writeToErrorStream">
  4972. <summary>
  4973. Flag to write output to the error stream rather than the standard output stream
  4974. </summary>
  4975. </member>
  4976. <member name="F:log4net.Appender.ManagedColoredConsoleAppender.m_levelMapping">
  4977. <summary>
  4978. Mapping from level object to color value
  4979. </summary>
  4980. </member>
  4981. <member name="T:log4net.Appender.ManagedColoredConsoleAppender.LevelColors">
  4982. <summary>
  4983. A class to act as a mapping between the level that a logging call is made at and
  4984. the color it should be displayed as.
  4985. </summary>
  4986. <remarks>
  4987. <para>
  4988. Defines the mapping between a level and the color it should be displayed in.
  4989. </para>
  4990. </remarks>
  4991. </member>
  4992. <member name="P:log4net.Appender.ManagedColoredConsoleAppender.LevelColors.ForeColor">
  4993. <summary>
  4994. The mapped foreground color for the specified level
  4995. </summary>
  4996. <remarks>
  4997. <para>
  4998. Required property.
  4999. The mapped foreground color for the specified level.
  5000. </para>
  5001. </remarks>
  5002. </member>
  5003. <member name="P:log4net.Appender.ManagedColoredConsoleAppender.LevelColors.BackColor">
  5004. <summary>
  5005. The mapped background color for the specified level
  5006. </summary>
  5007. <remarks>
  5008. <para>
  5009. Required property.
  5010. The mapped background color for the specified level.
  5011. </para>
  5012. </remarks>
  5013. </member>
  5014. <member name="T:log4net.Appender.MemoryAppender">
  5015. <summary>
  5016. Stores logging events in an array.
  5017. </summary>
  5018. <remarks>
  5019. <para>
  5020. The memory appender stores all the logging events
  5021. that are appended in an in-memory array.
  5022. </para>
  5023. <para>
  5024. Use the <see cref="M:PopAllEvents()"/> method to get
  5025. and clear the current list of events that have been appended.
  5026. </para>
  5027. <para>
  5028. Use the <see cref="M:GetEvents()"/> method to get the current
  5029. list of events that have been appended. Note there is a
  5030. race-condition when calling <see cref="M:GetEvents()"/> and
  5031. <see cref="M:Clear()"/> in pairs, you better use <see
  5032. mref="M:PopAllEvents()"/> in that case.
  5033. </para>
  5034. <para>
  5035. Use the <see cref="M:Clear()"/> method to clear the
  5036. current list of events. Note there is a
  5037. race-condition when calling <see cref="M:GetEvents()"/> and
  5038. <see cref="M:Clear()"/> in pairs, you better use <see
  5039. mref="M:PopAllEvents()"/> in that case.
  5040. </para>
  5041. </remarks>
  5042. <author>Julian Biddle</author>
  5043. <author>Nicko Cadell</author>
  5044. <author>Gert Driesen</author>
  5045. </member>
  5046. <member name="M:log4net.Appender.MemoryAppender.#ctor">
  5047. <summary>
  5048. Initializes a new instance of the <see cref="T:log4net.Appender.MemoryAppender" /> class.
  5049. </summary>
  5050. <remarks>
  5051. <para>
  5052. Default constructor.
  5053. </para>
  5054. </remarks>
  5055. </member>
  5056. <member name="M:log4net.Appender.MemoryAppender.GetEvents">
  5057. <summary>
  5058. Gets the events that have been logged.
  5059. </summary>
  5060. <returns>The events that have been logged</returns>
  5061. <remarks>
  5062. <para>
  5063. Gets the events that have been logged.
  5064. </para>
  5065. </remarks>
  5066. </member>
  5067. <member name="P:log4net.Appender.MemoryAppender.OnlyFixPartialEventData">
  5068. <summary>
  5069. Gets or sets a value indicating whether only part of the logging event
  5070. data should be fixed.
  5071. </summary>
  5072. <value>
  5073. <c>true</c> if the appender should only fix part of the logging event
  5074. data, otherwise <c>false</c>. The default is <c>false</c>.
  5075. </value>
  5076. <remarks>
  5077. <para>
  5078. Setting this property to <c>true</c> will cause only part of the event
  5079. data to be fixed and stored in the appender, hereby improving performance.
  5080. </para>
  5081. <para>
  5082. See <see cref="M:LoggingEvent.FixVolatileData(bool)"/> for more information.
  5083. </para>
  5084. </remarks>
  5085. </member>
  5086. <member name="P:log4net.Appender.MemoryAppender.Fix">
  5087. <summary>
  5088. Gets or sets the fields that will be fixed in the event
  5089. </summary>
  5090. <remarks>
  5091. <para>
  5092. The logging event needs to have certain thread specific values
  5093. captured before it can be buffered. See <see cref="P:log4net.Core.LoggingEvent.Fix"/>
  5094. for details.
  5095. </para>
  5096. </remarks>
  5097. </member>
  5098. <member name="M:log4net.Appender.MemoryAppender.Append(log4net.Core.LoggingEvent)">
  5099. <summary>
  5100. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
  5101. </summary>
  5102. <param name="loggingEvent">the event to log</param>
  5103. <remarks>
  5104. <para>Stores the <paramref name="loggingEvent"/> in the events list.</para>
  5105. </remarks>
  5106. </member>
  5107. <member name="M:log4net.Appender.MemoryAppender.Clear">
  5108. <summary>
  5109. Clear the list of events
  5110. </summary>
  5111. <remarks>
  5112. Clear the list of events
  5113. </remarks>
  5114. </member>
  5115. <member name="M:log4net.Appender.MemoryAppender.PopAllEvents">
  5116. <summary>
  5117. Gets the events that have been logged and clears the list of events.
  5118. </summary>
  5119. <returns>The events that have been logged</returns>
  5120. <remarks>
  5121. <para>
  5122. Gets the events that have been logged and clears the list of events.
  5123. </para>
  5124. </remarks>
  5125. </member>
  5126. <member name="F:log4net.Appender.MemoryAppender.m_eventsList">
  5127. <summary>
  5128. The list of events that have been appended.
  5129. </summary>
  5130. </member>
  5131. <member name="F:log4net.Appender.MemoryAppender.m_fixFlags">
  5132. <summary>
  5133. Value indicating which fields in the event should be fixed
  5134. </summary>
  5135. <remarks>
  5136. By default all fields are fixed
  5137. </remarks>
  5138. </member>
  5139. <member name="T:log4net.Appender.NetSendAppender">
  5140. <summary>
  5141. Logs entries by sending network messages using the
  5142. <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)" /> native function.
  5143. </summary>
  5144. <remarks>
  5145. <para>
  5146. You can send messages only to names that are active
  5147. on the network. If you send the message to a user name,
  5148. that user must be logged on and running the Messenger
  5149. service to receive the message.
  5150. </para>
  5151. <para>
  5152. The receiver will get a top most window displaying the
  5153. messages one at a time, therefore this appender should
  5154. not be used to deliver a high volume of messages.
  5155. </para>
  5156. <para>
  5157. The following table lists some possible uses for this appender :
  5158. </para>
  5159. <para>
  5160. <list type="table">
  5161. <listheader>
  5162. <term>Action</term>
  5163. <description>Property Value(s)</description>
  5164. </listheader>
  5165. <item>
  5166. <term>Send a message to a user account on the local machine</term>
  5167. <description>
  5168. <para>
  5169. <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the local machine&gt;
  5170. </para>
  5171. <para>
  5172. <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
  5173. </para>
  5174. </description>
  5175. </item>
  5176. <item>
  5177. <term>Send a message to a user account on a remote machine</term>
  5178. <description>
  5179. <para>
  5180. <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the remote machine&gt;
  5181. </para>
  5182. <para>
  5183. <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
  5184. </para>
  5185. </description>
  5186. </item>
  5187. <item>
  5188. <term>Send a message to a domain user account</term>
  5189. <description>
  5190. <para>
  5191. <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of a domain controller | uninitialized&gt;
  5192. </para>
  5193. <para>
  5194. <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;user name&gt;
  5195. </para>
  5196. </description>
  5197. </item>
  5198. <item>
  5199. <term>Send a message to all the names in a workgroup or domain</term>
  5200. <description>
  5201. <para>
  5202. <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;workgroup name | domain name&gt;*
  5203. </para>
  5204. </description>
  5205. </item>
  5206. <item>
  5207. <term>Send a message from the local machine to a remote machine</term>
  5208. <description>
  5209. <para>
  5210. <see cref="P:log4net.Appender.NetSendAppender.Server"/> = &lt;name of the local machine | uninitialized&gt;
  5211. </para>
  5212. <para>
  5213. <see cref="P:log4net.Appender.NetSendAppender.Recipient"/> = &lt;name of the remote machine&gt;
  5214. </para>
  5215. </description>
  5216. </item>
  5217. </list>
  5218. </para>
  5219. <para>
  5220. <b>Note :</b> security restrictions apply for sending
  5221. network messages, see <see cref="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)" />
  5222. for more information.
  5223. </para>
  5224. </remarks>
  5225. <example>
  5226. <para>
  5227. An example configuration section to log information
  5228. using this appender from the local machine, named
  5229. LOCAL_PC, to machine OPERATOR_PC :
  5230. </para>
  5231. <code lang="XML" escaped="true">
  5232. <appender name="NetSendAppender_Operator" type="log4net.Appender.NetSendAppender">
  5233. <server value="LOCAL_PC" />
  5234. <recipient value="OPERATOR_PC" />
  5235. <layout type="log4net.Layout.PatternLayout" value="%-5p %c [%x] - %m%n" />
  5236. </appender>
  5237. </code>
  5238. </example>
  5239. <author>Nicko Cadell</author>
  5240. <author>Gert Driesen</author>
  5241. </member>
  5242. <member name="F:log4net.Appender.NetSendAppender.m_server">
  5243. <summary>
  5244. The DNS or NetBIOS name of the server on which the function is to execute.
  5245. </summary>
  5246. </member>
  5247. <member name="F:log4net.Appender.NetSendAppender.m_sender">
  5248. <summary>
  5249. The sender of the network message.
  5250. </summary>
  5251. </member>
  5252. <member name="F:log4net.Appender.NetSendAppender.m_recipient">
  5253. <summary>
  5254. The message alias to which the message should be sent.
  5255. </summary>
  5256. </member>
  5257. <member name="F:log4net.Appender.NetSendAppender.m_securityContext">
  5258. <summary>
  5259. The security context to use for privileged calls
  5260. </summary>
  5261. </member>
  5262. <member name="M:log4net.Appender.NetSendAppender.#ctor">
  5263. <summary>
  5264. Initializes the appender.
  5265. </summary>
  5266. <remarks>
  5267. The default constructor initializes all fields to their default values.
  5268. </remarks>
  5269. </member>
  5270. <member name="P:log4net.Appender.NetSendAppender.Sender">
  5271. <summary>
  5272. Gets or sets the sender of the message.
  5273. </summary>
  5274. <value>
  5275. The sender of the message.
  5276. </value>
  5277. <remarks>
  5278. If this property is not specified, the message is sent from the local computer.
  5279. </remarks>
  5280. </member>
  5281. <member name="P:log4net.Appender.NetSendAppender.Recipient">
  5282. <summary>
  5283. Gets or sets the message alias to which the message should be sent.
  5284. </summary>
  5285. <value>
  5286. The recipient of the message.
  5287. </value>
  5288. <remarks>
  5289. This property should always be specified in order to send a message.
  5290. </remarks>
  5291. </member>
  5292. <member name="P:log4net.Appender.NetSendAppender.Server">
  5293. <summary>
  5294. Gets or sets the DNS or NetBIOS name of the remote server on which the function is to execute.
  5295. </summary>
  5296. <value>
  5297. DNS or NetBIOS name of the remote server on which the function is to execute.
  5298. </value>
  5299. <remarks>
  5300. <para>
  5301. For Windows NT 4.0 and earlier, the string should begin with \\.
  5302. </para>
  5303. <para>
  5304. If this property is not specified, the local computer is used.
  5305. </para>
  5306. </remarks>
  5307. </member>
  5308. <member name="P:log4net.Appender.NetSendAppender.SecurityContext">
  5309. <summary>
  5310. Gets or sets the <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
  5311. </summary>
  5312. <value>
  5313. The <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> used to call the NetSend method.
  5314. </value>
  5315. <remarks>
  5316. <para>
  5317. Unless a <see cref="P:log4net.Appender.NetSendAppender.SecurityContext"/> specified here for this appender
  5318. the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
  5319. security context to use. The default behavior is to use the security context
  5320. of the current thread.
  5321. </para>
  5322. </remarks>
  5323. </member>
  5324. <member name="M:log4net.Appender.NetSendAppender.ActivateOptions">
  5325. <summary>
  5326. Initialize the appender based on the options set.
  5327. </summary>
  5328. <remarks>
  5329. <para>
  5330. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  5331. activation scheme. The <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> method must
  5332. be called on this object after the configuration properties have
  5333. been set. Until <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> is called this
  5334. object is in an undefined state and must not be used.
  5335. </para>
  5336. <para>
  5337. If any of the configuration properties are modified then
  5338. <see cref="M:log4net.Appender.NetSendAppender.ActivateOptions"/> must be called again.
  5339. </para>
  5340. <para>
  5341. The appender will be ignored if no <see cref="P:log4net.Appender.NetSendAppender.Recipient" /> was specified.
  5342. </para>
  5343. </remarks>
  5344. <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.NetSendAppender.Recipient" /> was not specified.</exception>
  5345. </member>
  5346. <member name="M:log4net.Appender.NetSendAppender.Append(log4net.Core.LoggingEvent)">
  5347. <summary>
  5348. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
  5349. </summary>
  5350. <param name="loggingEvent">The event to log.</param>
  5351. <remarks>
  5352. <para>
  5353. Sends the event using a network message.
  5354. </para>
  5355. </remarks>
  5356. </member>
  5357. <member name="P:log4net.Appender.NetSendAppender.RequiresLayout">
  5358. <summary>
  5359. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  5360. </summary>
  5361. <value><c>true</c></value>
  5362. <remarks>
  5363. <para>
  5364. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  5365. </para>
  5366. </remarks>
  5367. </member>
  5368. <member name="M:log4net.Appender.NetSendAppender.NetMessageBufferSend(System.String,System.String,System.String,System.String,System.Int32)">
  5369. <summary>
  5370. Sends a buffer of information to a registered message alias.
  5371. </summary>
  5372. <param name="serverName">The DNS or NetBIOS name of the server on which the function is to execute.</param>
  5373. <param name="msgName">The message alias to which the message buffer should be sent</param>
  5374. <param name="fromName">The originator of the message.</param>
  5375. <param name="buffer">The message text.</param>
  5376. <param name="bufferSize">The length, in bytes, of the message text.</param>
  5377. <remarks>
  5378. <para>
  5379. The following restrictions apply for sending network messages:
  5380. </para>
  5381. <para>
  5382. <list type="table">
  5383. <listheader>
  5384. <term>Platform</term>
  5385. <description>Requirements</description>
  5386. </listheader>
  5387. <item>
  5388. <term>Windows NT</term>
  5389. <description>
  5390. <para>
  5391. No special group membership is required to send a network message.
  5392. </para>
  5393. <para>
  5394. Admin, Accounts, Print, or Server Operator group membership is required to
  5395. successfully send a network message on a remote server.
  5396. </para>
  5397. </description>
  5398. </item>
  5399. <item>
  5400. <term>Windows 2000 or later</term>
  5401. <description>
  5402. <para>
  5403. If you send a message on a domain controller that is running Active Directory,
  5404. access is allowed or denied based on the access control list (ACL) for the securable
  5405. object. The default ACL permits only Domain Admins and Account Operators to send a network message.
  5406. </para>
  5407. <para>
  5408. On a member server or workstation, only Administrators and Server Operators can send a network message.
  5409. </para>
  5410. </description>
  5411. </item>
  5412. </list>
  5413. </para>
  5414. <para>
  5415. For more information see <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/security_requirements_for_the_network_management_functions.asp">Security Requirements for the Network Management Functions</a>.
  5416. </para>
  5417. </remarks>
  5418. <returns>
  5419. <para>
  5420. If the function succeeds, the return value is zero.
  5421. </para>
  5422. </returns>
  5423. </member>
  5424. <member name="T:log4net.Appender.OutputDebugStringAppender">
  5425. <summary>
  5426. Appends log events to the OutputDebugString system.
  5427. </summary>
  5428. <remarks>
  5429. <para>
  5430. OutputDebugStringAppender appends log events to the
  5431. OutputDebugString system.
  5432. </para>
  5433. <para>
  5434. The string is passed to the native <c>OutputDebugString</c>
  5435. function.
  5436. </para>
  5437. </remarks>
  5438. <author>Nicko Cadell</author>
  5439. <author>Gert Driesen</author>
  5440. </member>
  5441. <member name="M:log4net.Appender.OutputDebugStringAppender.#ctor">
  5442. <summary>
  5443. Initializes a new instance of the <see cref="T:log4net.Appender.OutputDebugStringAppender" /> class.
  5444. </summary>
  5445. <remarks>
  5446. <para>
  5447. Default constructor.
  5448. </para>
  5449. </remarks>
  5450. </member>
  5451. <member name="M:log4net.Appender.OutputDebugStringAppender.Append(log4net.Core.LoggingEvent)">
  5452. <summary>
  5453. Write the logging event to the output debug string API
  5454. </summary>
  5455. <param name="loggingEvent">the event to log</param>
  5456. <remarks>
  5457. <para>
  5458. Write the logging event to the output debug string API
  5459. </para>
  5460. </remarks>
  5461. </member>
  5462. <member name="P:log4net.Appender.OutputDebugStringAppender.RequiresLayout">
  5463. <summary>
  5464. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  5465. </summary>
  5466. <value><c>true</c></value>
  5467. <remarks>
  5468. <para>
  5469. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  5470. </para>
  5471. </remarks>
  5472. </member>
  5473. <member name="M:log4net.Appender.OutputDebugStringAppender.OutputDebugString(System.String)">
  5474. <summary>
  5475. Stub for OutputDebugString native method
  5476. </summary>
  5477. <param name="message">the string to output</param>
  5478. <remarks>
  5479. <para>
  5480. Stub for OutputDebugString native method
  5481. </para>
  5482. </remarks>
  5483. </member>
  5484. <member name="T:log4net.Appender.RemoteSyslogAppender">
  5485. <summary>
  5486. Logs events to a remote syslog daemon.
  5487. </summary>
  5488. <remarks>
  5489. <para>
  5490. The BSD syslog protocol is used to remotely log to
  5491. a syslog daemon. The syslogd listens for for messages
  5492. on UDP port 514.
  5493. </para>
  5494. <para>
  5495. The syslog UDP protocol is not authenticated. Most syslog daemons
  5496. do not accept remote log messages because of the security implications.
  5497. You may be able to use the LocalSyslogAppender to talk to a local
  5498. syslog service.
  5499. </para>
  5500. <para>
  5501. There is an RFC 3164 that claims to document the BSD Syslog Protocol.
  5502. This RFC can be seen here: http://www.faqs.org/rfcs/rfc3164.html.
  5503. This appender generates what the RFC calls an "Original Device Message",
  5504. i.e. does not include the TIMESTAMP or HOSTNAME fields. By observation
  5505. this format of message will be accepted by all current syslog daemon
  5506. implementations. The daemon will attach the current time and the source
  5507. hostname or IP address to any messages received.
  5508. </para>
  5509. <para>
  5510. Syslog messages must have a facility and and a severity. The severity
  5511. is derived from the Level of the logging event.
  5512. The facility must be chosen from the set of defined syslog
  5513. <see cref="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility"/> values. The facilities list is predefined
  5514. and cannot be extended.
  5515. </para>
  5516. <para>
  5517. An identifier is specified with each log message. This can be specified
  5518. by setting the <see cref="P:log4net.Appender.RemoteSyslogAppender.Identity"/> property. The identity (also know
  5519. as the tag) must not contain white space. The default value for the
  5520. identity is the application name (from <see cref="P:log4net.Core.LoggingEvent.Domain"/>).
  5521. </para>
  5522. </remarks>
  5523. <author>Rob Lyon</author>
  5524. <author>Nicko Cadell</author>
  5525. </member>
  5526. <member name="F:log4net.Appender.RemoteSyslogAppender.DefaultSyslogPort">
  5527. <summary>
  5528. Syslog port 514
  5529. </summary>
  5530. </member>
  5531. <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogSeverity">
  5532. <summary>
  5533. syslog severities
  5534. </summary>
  5535. <remarks>
  5536. <para>
  5537. The syslog severities.
  5538. </para>
  5539. </remarks>
  5540. </member>
  5541. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Emergency">
  5542. <summary>
  5543. system is unusable
  5544. </summary>
  5545. </member>
  5546. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Alert">
  5547. <summary>
  5548. action must be taken immediately
  5549. </summary>
  5550. </member>
  5551. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Critical">
  5552. <summary>
  5553. critical conditions
  5554. </summary>
  5555. </member>
  5556. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Error">
  5557. <summary>
  5558. error conditions
  5559. </summary>
  5560. </member>
  5561. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Warning">
  5562. <summary>
  5563. warning conditions
  5564. </summary>
  5565. </member>
  5566. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Notice">
  5567. <summary>
  5568. normal but significant condition
  5569. </summary>
  5570. </member>
  5571. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Informational">
  5572. <summary>
  5573. informational
  5574. </summary>
  5575. </member>
  5576. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogSeverity.Debug">
  5577. <summary>
  5578. debug-level messages
  5579. </summary>
  5580. </member>
  5581. <member name="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility">
  5582. <summary>
  5583. syslog facilities
  5584. </summary>
  5585. <remarks>
  5586. <para>
  5587. The syslog facilities
  5588. </para>
  5589. </remarks>
  5590. </member>
  5591. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Kernel">
  5592. <summary>
  5593. kernel messages
  5594. </summary>
  5595. </member>
  5596. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User">
  5597. <summary>
  5598. random user-level messages
  5599. </summary>
  5600. </member>
  5601. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Mail">
  5602. <summary>
  5603. mail system
  5604. </summary>
  5605. </member>
  5606. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Daemons">
  5607. <summary>
  5608. system daemons
  5609. </summary>
  5610. </member>
  5611. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization">
  5612. <summary>
  5613. security/authorization messages
  5614. </summary>
  5615. </member>
  5616. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Syslog">
  5617. <summary>
  5618. messages generated internally by syslogd
  5619. </summary>
  5620. </member>
  5621. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Printer">
  5622. <summary>
  5623. line printer subsystem
  5624. </summary>
  5625. </member>
  5626. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.News">
  5627. <summary>
  5628. network news subsystem
  5629. </summary>
  5630. </member>
  5631. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Uucp">
  5632. <summary>
  5633. UUCP subsystem
  5634. </summary>
  5635. </member>
  5636. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock">
  5637. <summary>
  5638. clock (cron/at) daemon
  5639. </summary>
  5640. </member>
  5641. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Authorization2">
  5642. <summary>
  5643. security/authorization messages (private)
  5644. </summary>
  5645. </member>
  5646. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ftp">
  5647. <summary>
  5648. ftp daemon
  5649. </summary>
  5650. </member>
  5651. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Ntp">
  5652. <summary>
  5653. NTP subsystem
  5654. </summary>
  5655. </member>
  5656. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Audit">
  5657. <summary>
  5658. log audit
  5659. </summary>
  5660. </member>
  5661. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Alert">
  5662. <summary>
  5663. log alert
  5664. </summary>
  5665. </member>
  5666. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Clock2">
  5667. <summary>
  5668. clock daemon
  5669. </summary>
  5670. </member>
  5671. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local0">
  5672. <summary>
  5673. reserved for local use
  5674. </summary>
  5675. </member>
  5676. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local1">
  5677. <summary>
  5678. reserved for local use
  5679. </summary>
  5680. </member>
  5681. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local2">
  5682. <summary>
  5683. reserved for local use
  5684. </summary>
  5685. </member>
  5686. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local3">
  5687. <summary>
  5688. reserved for local use
  5689. </summary>
  5690. </member>
  5691. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local4">
  5692. <summary>
  5693. reserved for local use
  5694. </summary>
  5695. </member>
  5696. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local5">
  5697. <summary>
  5698. reserved for local use
  5699. </summary>
  5700. </member>
  5701. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local6">
  5702. <summary>
  5703. reserved for local use
  5704. </summary>
  5705. </member>
  5706. <member name="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.Local7">
  5707. <summary>
  5708. reserved for local use
  5709. </summary>
  5710. </member>
  5711. <member name="M:log4net.Appender.RemoteSyslogAppender.#ctor">
  5712. <summary>
  5713. Initializes a new instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender" /> class.
  5714. </summary>
  5715. <remarks>
  5716. This instance of the <see cref="T:log4net.Appender.RemoteSyslogAppender" /> class is set up to write
  5717. to a remote syslog daemon.
  5718. </remarks>
  5719. </member>
  5720. <member name="P:log4net.Appender.RemoteSyslogAppender.Identity">
  5721. <summary>
  5722. Message identity
  5723. </summary>
  5724. <remarks>
  5725. <para>
  5726. An identifier is specified with each log message. This can be specified
  5727. by setting the <see cref="P:log4net.Appender.RemoteSyslogAppender.Identity"/> property. The identity (also know
  5728. as the tag) must not contain white space. The default value for the
  5729. identity is the application name (from <see cref="P:log4net.Core.LoggingEvent.Domain"/>).
  5730. </para>
  5731. </remarks>
  5732. </member>
  5733. <member name="P:log4net.Appender.RemoteSyslogAppender.Facility">
  5734. <summary>
  5735. Syslog facility
  5736. </summary>
  5737. <remarks>
  5738. Set to one of the <see cref="T:log4net.Appender.RemoteSyslogAppender.SyslogFacility"/> values. The list of
  5739. facilities is predefined and cannot be extended. The default value
  5740. is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
  5741. </remarks>
  5742. </member>
  5743. <member name="M:log4net.Appender.RemoteSyslogAppender.AddMapping(log4net.Appender.RemoteSyslogAppender.LevelSeverity)">
  5744. <summary>
  5745. Add a mapping of level to severity
  5746. </summary>
  5747. <param name="mapping">The mapping to add</param>
  5748. <remarks>
  5749. <para>
  5750. Add a <see cref="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity"/> mapping to this appender.
  5751. </para>
  5752. </remarks>
  5753. </member>
  5754. <member name="M:log4net.Appender.RemoteSyslogAppender.Append(log4net.Core.LoggingEvent)">
  5755. <summary>
  5756. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
  5757. </summary>
  5758. <param name="loggingEvent">The event to log.</param>
  5759. <remarks>
  5760. <para>
  5761. Writes the event to a remote syslog daemon.
  5762. </para>
  5763. <para>
  5764. The format of the output will depend on the appender's layout.
  5765. </para>
  5766. </remarks>
  5767. </member>
  5768. <member name="M:log4net.Appender.RemoteSyslogAppender.ActivateOptions">
  5769. <summary>
  5770. Initialize the options for this appender
  5771. </summary>
  5772. <remarks>
  5773. <para>
  5774. Initialize the level to syslog severity mappings set on this appender.
  5775. </para>
  5776. </remarks>
  5777. </member>
  5778. <member name="M:log4net.Appender.RemoteSyslogAppender.GetSeverity(log4net.Core.Level)">
  5779. <summary>
  5780. Translates a log4net level to a syslog severity.
  5781. </summary>
  5782. <param name="level">A log4net level.</param>
  5783. <returns>A syslog severity.</returns>
  5784. <remarks>
  5785. <para>
  5786. Translates a log4net level to a syslog severity.
  5787. </para>
  5788. </remarks>
  5789. </member>
  5790. <member name="M:log4net.Appender.RemoteSyslogAppender.GeneratePriority(log4net.Appender.RemoteSyslogAppender.SyslogFacility,log4net.Appender.RemoteSyslogAppender.SyslogSeverity)">
  5791. <summary>
  5792. Generate a syslog priority.
  5793. </summary>
  5794. <param name="facility">The syslog facility.</param>
  5795. <param name="severity">The syslog severity.</param>
  5796. <returns>A syslog priority.</returns>
  5797. <remarks>
  5798. <para>
  5799. Generate a syslog priority.
  5800. </para>
  5801. </remarks>
  5802. </member>
  5803. <member name="F:log4net.Appender.RemoteSyslogAppender.m_facility">
  5804. <summary>
  5805. The facility. The default facility is <see cref="F:log4net.Appender.RemoteSyslogAppender.SyslogFacility.User"/>.
  5806. </summary>
  5807. </member>
  5808. <member name="F:log4net.Appender.RemoteSyslogAppender.m_identity">
  5809. <summary>
  5810. The message identity
  5811. </summary>
  5812. </member>
  5813. <member name="F:log4net.Appender.RemoteSyslogAppender.m_levelMapping">
  5814. <summary>
  5815. Mapping from level object to syslog severity
  5816. </summary>
  5817. </member>
  5818. <member name="F:log4net.Appender.RemoteSyslogAppender.c_renderBufferSize">
  5819. <summary>
  5820. Initial buffer size
  5821. </summary>
  5822. </member>
  5823. <member name="F:log4net.Appender.RemoteSyslogAppender.c_renderBufferMaxCapacity">
  5824. <summary>
  5825. Maximum buffer size before it is recycled
  5826. </summary>
  5827. </member>
  5828. <member name="T:log4net.Appender.RemoteSyslogAppender.LevelSeverity">
  5829. <summary>
  5830. A class to act as a mapping between the level that a logging call is made at and
  5831. the syslog severity that is should be logged at.
  5832. </summary>
  5833. <remarks>
  5834. <para>
  5835. A class to act as a mapping between the level that a logging call is made at and
  5836. the syslog severity that is should be logged at.
  5837. </para>
  5838. </remarks>
  5839. </member>
  5840. <member name="P:log4net.Appender.RemoteSyslogAppender.LevelSeverity.Severity">
  5841. <summary>
  5842. The mapped syslog severity for the specified level
  5843. </summary>
  5844. <remarks>
  5845. <para>
  5846. Required property.
  5847. The mapped syslog severity for the specified level
  5848. </para>
  5849. </remarks>
  5850. </member>
  5851. <member name="T:log4net.Appender.RemotingAppender">
  5852. <summary>
  5853. Delivers logging events to a remote logging sink.
  5854. </summary>
  5855. <remarks>
  5856. <para>
  5857. This Appender is designed to deliver events to a remote sink.
  5858. That is any object that implements the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
  5859. interface. It delivers the events using .NET remoting. The
  5860. object to deliver events to is specified by setting the
  5861. appenders <see cref="P:log4net.Appender.RemotingAppender.Sink"/> property.</para>
  5862. <para>
  5863. The RemotingAppender buffers events before sending them. This allows it to
  5864. make more efficient use of the remoting infrastructure.</para>
  5865. <para>
  5866. Once the buffer is full the events are still not sent immediately.
  5867. They are scheduled to be sent using a pool thread. The effect is that
  5868. the send occurs asynchronously. This is very important for a
  5869. number of non obvious reasons. The remoting infrastructure will
  5870. flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
  5871. if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the
  5872. remoting boundary. If the server is not contactable then
  5873. the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
  5874. objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
  5875. having side effects on the calling application the remoting call must be made
  5876. from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
  5877. thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
  5878. the events will block in the thread pool manager until a thread is available.</para>
  5879. <para>
  5880. Because the events are sent asynchronously using pool threads it is possible to close
  5881. this appender before all the queued events have been sent.
  5882. When closing the appender attempts to wait until all the queued events have been sent, but
  5883. this will timeout after 30 seconds regardless.</para>
  5884. <para>
  5885. If this appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
  5886. event has fired it may not be possible to send all the queued events. During process
  5887. exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
  5888. event handler is allowed to run for. If the runtime terminates the threads before
  5889. the queued events have been sent then they will be lost. To ensure that all events
  5890. are sent the appender must be closed before the application exits. See
  5891. <see cref="M:log4net.Core.LoggerManager.Shutdown"/> for details on how to shutdown
  5892. log4net programmatically.</para>
  5893. </remarks>
  5894. <seealso cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink" />
  5895. <author>Nicko Cadell</author>
  5896. <author>Gert Driesen</author>
  5897. <author>Daniel Cazzulino</author>
  5898. </member>
  5899. <member name="M:log4net.Appender.RemotingAppender.#ctor">
  5900. <summary>
  5901. Initializes a new instance of the <see cref="T:log4net.Appender.RemotingAppender" /> class.
  5902. </summary>
  5903. <remarks>
  5904. <para>
  5905. Default constructor.
  5906. </para>
  5907. </remarks>
  5908. </member>
  5909. <member name="P:log4net.Appender.RemotingAppender.Sink">
  5910. <summary>
  5911. Gets or sets the URL of the well-known object that will accept
  5912. the logging events.
  5913. </summary>
  5914. <value>
  5915. The well-known URL of the remote sink.
  5916. </value>
  5917. <remarks>
  5918. <para>
  5919. The URL of the remoting sink that will accept logging events.
  5920. The sink must implement the <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
  5921. interface.
  5922. </para>
  5923. </remarks>
  5924. </member>
  5925. <member name="M:log4net.Appender.RemotingAppender.ActivateOptions">
  5926. <summary>
  5927. Initialize the appender based on the options set
  5928. </summary>
  5929. <remarks>
  5930. <para>
  5931. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  5932. activation scheme. The <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> method must
  5933. be called on this object after the configuration properties have
  5934. been set. Until <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> is called this
  5935. object is in an undefined state and must not be used.
  5936. </para>
  5937. <para>
  5938. If any of the configuration properties are modified then
  5939. <see cref="M:log4net.Appender.RemotingAppender.ActivateOptions"/> must be called again.
  5940. </para>
  5941. </remarks>
  5942. </member>
  5943. <member name="M:log4net.Appender.RemotingAppender.SendBuffer(log4net.Core.LoggingEvent[])">
  5944. <summary>
  5945. Send the contents of the buffer to the remote sink.
  5946. </summary>
  5947. <remarks>
  5948. The events are not sent immediately. They are scheduled to be sent
  5949. using a pool thread. The effect is that the send occurs asynchronously.
  5950. This is very important for a number of non obvious reasons. The remoting
  5951. infrastructure will flow thread local variables (stored in the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>),
  5952. if they are marked as <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>, across the
  5953. remoting boundary. If the server is not contactable then
  5954. the remoting infrastructure will clear the <see cref="T:System.Runtime.Remoting.Messaging.ILogicalThreadAffinative"/>
  5955. objects from the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/>. To prevent a logging failure from
  5956. having side effects on the calling application the remoting call must be made
  5957. from a separate thread to the one used by the application. A <see cref="T:System.Threading.ThreadPool"/>
  5958. thread is used for this. If no <see cref="T:System.Threading.ThreadPool"/> thread is available then
  5959. the events will block in the thread pool manager until a thread is available.
  5960. </remarks>
  5961. <param name="events">The events to send.</param>
  5962. </member>
  5963. <member name="M:log4net.Appender.RemotingAppender.OnClose">
  5964. <summary>
  5965. Override base class close.
  5966. </summary>
  5967. <remarks>
  5968. <para>
  5969. This method waits while there are queued work items. The events are
  5970. sent asynchronously using <see cref="T:System.Threading.ThreadPool"/> work items. These items
  5971. will be sent once a thread pool thread is available to send them, therefore
  5972. it is possible to close the appender before all the queued events have been
  5973. sent.</para>
  5974. <para>
  5975. This method attempts to wait until all the queued events have been sent, but this
  5976. method will timeout after 30 seconds regardless.</para>
  5977. <para>
  5978. If the appender is being closed because the <see cref="E:System.AppDomain.ProcessExit"/>
  5979. event has fired it may not be possible to send all the queued events. During process
  5980. exit the runtime limits the time that a <see cref="E:System.AppDomain.ProcessExit"/>
  5981. event handler is allowed to run for.</para>
  5982. </remarks>
  5983. </member>
  5984. <member name="M:log4net.Appender.RemotingAppender.Flush(System.Int32)">
  5985. <summary>
  5986. Flushes any buffered log data.
  5987. </summary>
  5988. <param name="millisecondsTimeout">The maximum time to wait for logging events to be flushed.</param>
  5989. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  5990. </member>
  5991. <member name="M:log4net.Appender.RemotingAppender.BeginAsyncSend">
  5992. <summary>
  5993. A work item is being queued into the thread pool
  5994. </summary>
  5995. </member>
  5996. <member name="M:log4net.Appender.RemotingAppender.EndAsyncSend">
  5997. <summary>
  5998. A work item from the thread pool has completed
  5999. </summary>
  6000. </member>
  6001. <member name="M:log4net.Appender.RemotingAppender.SendBufferCallback(System.Object)">
  6002. <summary>
  6003. Send the contents of the buffer to the remote sink.
  6004. </summary>
  6005. <remarks>
  6006. This method is designed to be used with the <see cref="T:System.Threading.ThreadPool"/>.
  6007. This method expects to be passed an array of <see cref="T:log4net.Core.LoggingEvent"/>
  6008. objects in the state param.
  6009. </remarks>
  6010. <param name="state">the logging events to send</param>
  6011. </member>
  6012. <member name="F:log4net.Appender.RemotingAppender.m_sinkUrl">
  6013. <summary>
  6014. The URL of the remote sink.
  6015. </summary>
  6016. </member>
  6017. <member name="F:log4net.Appender.RemotingAppender.m_sinkObj">
  6018. <summary>
  6019. The local proxy (.NET remoting) for the remote logging sink.
  6020. </summary>
  6021. </member>
  6022. <member name="F:log4net.Appender.RemotingAppender.m_queuedCallbackCount">
  6023. <summary>
  6024. The number of queued callbacks currently waiting or executing
  6025. </summary>
  6026. </member>
  6027. <member name="F:log4net.Appender.RemotingAppender.m_workQueueEmptyEvent">
  6028. <summary>
  6029. Event used to signal when there are no queued work items
  6030. </summary>
  6031. <remarks>
  6032. This event is set when there are no queued work items. In this
  6033. state it is safe to close the appender.
  6034. </remarks>
  6035. </member>
  6036. <member name="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink">
  6037. <summary>
  6038. Interface used to deliver <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
  6039. </summary>
  6040. <remarks>
  6041. This interface must be implemented by a remoting sink
  6042. if the <see cref="T:log4net.Appender.RemotingAppender"/> is to be used
  6043. to deliver logging events to the sink.
  6044. </remarks>
  6045. </member>
  6046. <member name="M:log4net.Appender.RemotingAppender.IRemoteLoggingSink.LogEvents(log4net.Core.LoggingEvent[])">
  6047. <summary>
  6048. Delivers logging events to the remote sink
  6049. </summary>
  6050. <param name="events">Array of events to log.</param>
  6051. <remarks>
  6052. <para>
  6053. Delivers logging events to the remote sink
  6054. </para>
  6055. </remarks>
  6056. </member>
  6057. <member name="T:log4net.Appender.RollingFileAppender">
  6058. <summary>
  6059. Appender that rolls log files based on size or date or both.
  6060. </summary>
  6061. <remarks>
  6062. <para>
  6063. RollingFileAppender can roll log files based on size or date or both
  6064. depending on the setting of the <see cref="P:log4net.Appender.RollingFileAppender.RollingStyle"/> property.
  6065. When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Size"/> the log file will be rolled
  6066. once its size exceeds the <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/>.
  6067. When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Date"/> the log file will be rolled
  6068. once the date boundary specified in the <see cref="P:log4net.Appender.RollingFileAppender.DatePattern"/> property
  6069. is crossed.
  6070. When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Composite"/> the log file will be
  6071. rolled once the date boundary specified in the <see cref="P:log4net.Appender.RollingFileAppender.DatePattern"/> property
  6072. is crossed, but within a date boundary the file will also be rolled
  6073. once its size exceeds the <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/>.
  6074. When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Once"/> the log file will be rolled when
  6075. the appender is configured. This effectively means that the log file can be
  6076. rolled once per program execution.
  6077. </para>
  6078. <para>
  6079. A of few additional optional features have been added:
  6080. <list type="bullet">
  6081. <item>Attach date pattern for current log file <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/></item>
  6082. <item>Backup number increments for newer files <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/></item>
  6083. <item>Infinite number of backups by file size <see cref="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups"/></item>
  6084. </list>
  6085. </para>
  6086. <note>
  6087. <para>
  6088. For large or infinite numbers of backup files a <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/>
  6089. greater than zero is highly recommended, otherwise all the backup files need
  6090. to be renamed each time a new backup is created.
  6091. </para>
  6092. <para>
  6093. When Date/Time based rolling is used setting <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/>
  6094. to <see langword="true"/> will reduce the number of file renamings to few or none.
  6095. </para>
  6096. </note>
  6097. <note type="caution">
  6098. <para>
  6099. Changing <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/> or <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> without clearing
  6100. the log file directory of backup files will cause unexpected and unwanted side effects.
  6101. </para>
  6102. </note>
  6103. <para>
  6104. If Date/Time based rolling is enabled this appender will attempt to roll existing files
  6105. in the directory without a Date/Time tag based on the last write date of the base log file.
  6106. The appender only rolls the log file when a message is logged. If Date/Time based rolling
  6107. is enabled then the appender will not roll the log file at the Date/Time boundary but
  6108. at the point when the next message is logged after the boundary has been crossed.
  6109. </para>
  6110. <para>
  6111. The <see cref="T:log4net.Appender.RollingFileAppender"/> extends the <see cref="T:log4net.Appender.FileAppender"/> and
  6112. has the same behavior when opening the log file.
  6113. The appender will first try to open the file for writing when <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>
  6114. is called. This will typically be during configuration.
  6115. If the file cannot be opened for writing the appender will attempt
  6116. to open the file again each time a message is logged to the appender.
  6117. If the file cannot be opened for writing when a message is logged then
  6118. the message will be discarded by this appender.
  6119. </para>
  6120. <para>
  6121. When rolling a backup file necessitates deleting an older backup file the
  6122. file to be deleted is moved to a temporary name before being deleted.
  6123. </para>
  6124. <note type="caution">
  6125. <para>
  6126. A maximum number of backup files when rolling on date/time boundaries is not supported.
  6127. </para>
  6128. </note>
  6129. </remarks>
  6130. <author>Nicko Cadell</author>
  6131. <author>Gert Driesen</author>
  6132. <author>Aspi Havewala</author>
  6133. <author>Douglas de la Torre</author>
  6134. <author>Edward Smit</author>
  6135. </member>
  6136. <member name="T:log4net.Appender.RollingFileAppender.RollingMode">
  6137. <summary>
  6138. Style of rolling to use
  6139. </summary>
  6140. <remarks>
  6141. <para>
  6142. Style of rolling to use
  6143. </para>
  6144. </remarks>
  6145. </member>
  6146. <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Once">
  6147. <summary>
  6148. Roll files once per program execution
  6149. </summary>
  6150. <remarks>
  6151. <para>
  6152. Roll files once per program execution.
  6153. Well really once each time this appender is
  6154. configured.
  6155. </para>
  6156. <para>
  6157. Setting this option also sets <c>AppendToFile</c> to
  6158. <c>false</c> on the <c>RollingFileAppender</c>, otherwise
  6159. this appender would just be a normal file appender.
  6160. </para>
  6161. </remarks>
  6162. </member>
  6163. <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Size">
  6164. <summary>
  6165. Roll files based only on the size of the file
  6166. </summary>
  6167. </member>
  6168. <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Date">
  6169. <summary>
  6170. Roll files based only on the date
  6171. </summary>
  6172. </member>
  6173. <member name="F:log4net.Appender.RollingFileAppender.RollingMode.Composite">
  6174. <summary>
  6175. Roll files based on both the size and date of the file
  6176. </summary>
  6177. </member>
  6178. <member name="T:log4net.Appender.RollingFileAppender.RollPoint">
  6179. <summary>
  6180. The code assumes that the following 'time' constants are in a increasing sequence.
  6181. </summary>
  6182. <remarks>
  6183. <para>
  6184. The code assumes that the following 'time' constants are in a increasing sequence.
  6185. </para>
  6186. </remarks>
  6187. </member>
  6188. <member name="F:log4net.Appender.RollingFileAppender.RollPoint.InvalidRollPoint">
  6189. <summary>
  6190. Roll the log not based on the date
  6191. </summary>
  6192. </member>
  6193. <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMinute">
  6194. <summary>
  6195. Roll the log for each minute
  6196. </summary>
  6197. </member>
  6198. <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfHour">
  6199. <summary>
  6200. Roll the log for each hour
  6201. </summary>
  6202. </member>
  6203. <member name="F:log4net.Appender.RollingFileAppender.RollPoint.HalfDay">
  6204. <summary>
  6205. Roll the log twice a day (midday and midnight)
  6206. </summary>
  6207. </member>
  6208. <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfDay">
  6209. <summary>
  6210. Roll the log each day (midnight)
  6211. </summary>
  6212. </member>
  6213. <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfWeek">
  6214. <summary>
  6215. Roll the log each week
  6216. </summary>
  6217. </member>
  6218. <member name="F:log4net.Appender.RollingFileAppender.RollPoint.TopOfMonth">
  6219. <summary>
  6220. Roll the log each month
  6221. </summary>
  6222. </member>
  6223. <member name="M:log4net.Appender.RollingFileAppender.#ctor">
  6224. <summary>
  6225. Initializes a new instance of the <see cref="T:log4net.Appender.RollingFileAppender" /> class.
  6226. </summary>
  6227. <remarks>
  6228. <para>
  6229. Default constructor.
  6230. </para>
  6231. </remarks>
  6232. </member>
  6233. <member name="M:log4net.Appender.RollingFileAppender.Finalize">
  6234. <summary>
  6235. Cleans up all resources used by this appender.
  6236. </summary>
  6237. </member>
  6238. <member name="P:log4net.Appender.RollingFileAppender.DateTimeStrategy">
  6239. <summary>
  6240. Gets or sets the strategy for determining the current date and time. The default
  6241. implementation is to use LocalDateTime which internally calls through to DateTime.Now.
  6242. DateTime.UtcNow may be used on frameworks newer than .NET 1.0 by specifying
  6243. <see cref="T:log4net.Appender.RollingFileAppender.UniversalDateTime"/>.
  6244. </summary>
  6245. <value>
  6246. An implementation of the <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> interface which returns the current date and time.
  6247. </value>
  6248. <remarks>
  6249. <para>
  6250. Gets or sets the <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> used to return the current date and time.
  6251. </para>
  6252. <para>
  6253. There are two built strategies for determining the current date and time,
  6254. <see cref="T:log4net.Appender.RollingFileAppender.LocalDateTime"/>
  6255. and <see cref="T:log4net.Appender.RollingFileAppender.UniversalDateTime"/>.
  6256. </para>
  6257. <para>
  6258. The default strategy is <see cref="T:log4net.Appender.RollingFileAppender.LocalDateTime"/>.
  6259. </para>
  6260. </remarks>
  6261. </member>
  6262. <member name="P:log4net.Appender.RollingFileAppender.DatePattern">
  6263. <summary>
  6264. Gets or sets the date pattern to be used for generating file names
  6265. when rolling over on date.
  6266. </summary>
  6267. <value>
  6268. The date pattern to be used for generating file names when rolling
  6269. over on date.
  6270. </value>
  6271. <remarks>
  6272. <para>
  6273. Takes a string in the same format as expected by
  6274. <see cref="T:log4net.DateFormatter.SimpleDateFormatter" />.
  6275. </para>
  6276. <para>
  6277. This property determines the rollover schedule when rolling over
  6278. on date.
  6279. </para>
  6280. </remarks>
  6281. </member>
  6282. <member name="P:log4net.Appender.RollingFileAppender.MaxSizeRollBackups">
  6283. <summary>
  6284. Gets or sets the maximum number of backup files that are kept before
  6285. the oldest is erased.
  6286. </summary>
  6287. <value>
  6288. The maximum number of backup files that are kept before the oldest is
  6289. erased.
  6290. </value>
  6291. <remarks>
  6292. <para>
  6293. If set to zero, then there will be no backup files and the log file
  6294. will be truncated when it reaches <see cref="P:log4net.Appender.RollingFileAppender.MaxFileSize"/>.
  6295. </para>
  6296. <para>
  6297. If a negative number is supplied then no deletions will be made. Note
  6298. that this could result in very slow performance as a large number of
  6299. files are rolled over unless <see cref="P:log4net.Appender.RollingFileAppender.CountDirection"/> is used.
  6300. </para>
  6301. <para>
  6302. The maximum applies to <b>each</b> time based group of files and
  6303. <b>not</b> the total.
  6304. </para>
  6305. </remarks>
  6306. </member>
  6307. <member name="P:log4net.Appender.RollingFileAppender.MaxFileSize">
  6308. <summary>
  6309. Gets or sets the maximum size that the output file is allowed to reach
  6310. before being rolled over to backup files.
  6311. </summary>
  6312. <value>
  6313. The maximum size in bytes that the output file is allowed to reach before being
  6314. rolled over to backup files.
  6315. </value>
  6316. <remarks>
  6317. <para>
  6318. This property is equivalent to <see cref="P:log4net.Appender.RollingFileAppender.MaximumFileSize"/> except
  6319. that it is required for differentiating the setter taking a
  6320. <see cref="T:System.Int64"/> argument from the setter taking a <see cref="T:System.String"/>
  6321. argument.
  6322. </para>
  6323. <para>
  6324. The default maximum file size is 10MB (10*1024*1024).
  6325. </para>
  6326. </remarks>
  6327. </member>
  6328. <member name="P:log4net.Appender.RollingFileAppender.MaximumFileSize">
  6329. <summary>
  6330. Gets or sets the maximum size that the output file is allowed to reach
  6331. before being rolled over to backup files.
  6332. </summary>
  6333. <value>
  6334. The maximum size that the output file is allowed to reach before being
  6335. rolled over to backup files.
  6336. </value>
  6337. <remarks>
  6338. <para>
  6339. This property allows you to specify the maximum size with the
  6340. suffixes "KB", "MB" or "GB" so that the size is interpreted being
  6341. expressed respectively in kilobytes, megabytes or gigabytes.
  6342. </para>
  6343. <para>
  6344. For example, the value "10KB" will be interpreted as 10240 bytes.
  6345. </para>
  6346. <para>
  6347. The default maximum file size is 10MB.
  6348. </para>
  6349. <para>
  6350. If you have the option to set the maximum file size programmatically
  6351. consider using the <see cref="P:log4net.Appender.RollingFileAppender.MaxFileSize"/> property instead as this
  6352. allows you to set the size in bytes as a <see cref="T:System.Int64"/>.
  6353. </para>
  6354. </remarks>
  6355. </member>
  6356. <member name="P:log4net.Appender.RollingFileAppender.CountDirection">
  6357. <summary>
  6358. Gets or sets the rolling file count direction.
  6359. </summary>
  6360. <value>
  6361. The rolling file count direction.
  6362. </value>
  6363. <remarks>
  6364. <para>
  6365. Indicates if the current file is the lowest numbered file or the
  6366. highest numbered file.
  6367. </para>
  6368. <para>
  6369. By default newer files have lower numbers (<see cref="P:log4net.Appender.RollingFileAppender.CountDirection" /> &lt; 0),
  6370. i.e. log.1 is most recent, log.5 is the 5th backup, etc...
  6371. </para>
  6372. <para>
  6373. <see cref="P:log4net.Appender.RollingFileAppender.CountDirection" /> &gt;= 0 does the opposite i.e.
  6374. log.1 is the first backup made, log.5 is the 5th backup made, etc.
  6375. For infinite backups use <see cref="P:log4net.Appender.RollingFileAppender.CountDirection" /> &gt;= 0 to reduce
  6376. rollover costs.
  6377. </para>
  6378. <para>The default file count direction is -1.</para>
  6379. </remarks>
  6380. </member>
  6381. <member name="P:log4net.Appender.RollingFileAppender.RollingStyle">
  6382. <summary>
  6383. Gets or sets the rolling style.
  6384. </summary>
  6385. <value>The rolling style.</value>
  6386. <remarks>
  6387. <para>
  6388. The default rolling style is <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Composite" />.
  6389. </para>
  6390. <para>
  6391. When set to <see cref="F:log4net.Appender.RollingFileAppender.RollingMode.Once"/> this appender's
  6392. <see cref="P:log4net.Appender.FileAppender.AppendToFile"/> property is set to <c>false</c>, otherwise
  6393. the appender would append to a single file rather than rolling
  6394. the file each time it is opened.
  6395. </para>
  6396. </remarks>
  6397. </member>
  6398. <member name="P:log4net.Appender.RollingFileAppender.PreserveLogFileNameExtension">
  6399. <summary>
  6400. Gets or sets a value indicating whether to preserve the file name extension when rolling.
  6401. </summary>
  6402. <value>
  6403. <c>true</c> if the file name extension should be preserved.
  6404. </value>
  6405. <remarks>
  6406. <para>
  6407. By default file.log is rolled to file.log.yyyy-MM-dd or file.log.curSizeRollBackup.
  6408. However, under Windows the new file name will loose any program associations as the
  6409. extension is changed. Optionally file.log can be renamed to file.yyyy-MM-dd.log or
  6410. file.curSizeRollBackup.log to maintain any program associations.
  6411. </para>
  6412. </remarks>
  6413. </member>
  6414. <member name="P:log4net.Appender.RollingFileAppender.StaticLogFileName">
  6415. <summary>
  6416. Gets or sets a value indicating whether to always log to
  6417. the same file.
  6418. </summary>
  6419. <value>
  6420. <c>true</c> if always should be logged to the same file, otherwise <c>false</c>.
  6421. </value>
  6422. <remarks>
  6423. <para>
  6424. By default file.log is always the current file. Optionally
  6425. file.log.yyyy-mm-dd for current formatted datePattern can by the currently
  6426. logging file (or file.log.curSizeRollBackup or even
  6427. file.log.yyyy-mm-dd.curSizeRollBackup).
  6428. </para>
  6429. <para>
  6430. This will make time based rollovers with a large number of backups
  6431. much faster as the appender it won't have to rename all the backups!
  6432. </para>
  6433. </remarks>
  6434. </member>
  6435. <member name="F:log4net.Appender.RollingFileAppender.declaringType">
  6436. <summary>
  6437. The fully qualified type of the RollingFileAppender class.
  6438. </summary>
  6439. <remarks>
  6440. Used by the internal logger to record the Type of the
  6441. log message.
  6442. </remarks>
  6443. </member>
  6444. <member name="M:log4net.Appender.RollingFileAppender.SetQWForFiles(System.IO.TextWriter)">
  6445. <summary>
  6446. Sets the quiet writer being used.
  6447. </summary>
  6448. <remarks>
  6449. This method can be overridden by sub classes.
  6450. </remarks>
  6451. <param name="writer">the writer to set</param>
  6452. </member>
  6453. <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.Core.LoggingEvent)">
  6454. <summary>
  6455. Write out a logging event.
  6456. </summary>
  6457. <param name="loggingEvent">the event to write to file.</param>
  6458. <remarks>
  6459. <para>
  6460. Handles append time behavior for RollingFileAppender. This checks
  6461. if a roll over either by date (checked first) or time (checked second)
  6462. is need and then appends to the file last.
  6463. </para>
  6464. </remarks>
  6465. </member>
  6466. <member name="M:log4net.Appender.RollingFileAppender.Append(log4net.Core.LoggingEvent[])">
  6467. <summary>
  6468. Write out an array of logging events.
  6469. </summary>
  6470. <param name="loggingEvents">the events to write to file.</param>
  6471. <remarks>
  6472. <para>
  6473. Handles append time behavior for RollingFileAppender. This checks
  6474. if a roll over either by date (checked first) or time (checked second)
  6475. is need and then appends to the file last.
  6476. </para>
  6477. </remarks>
  6478. </member>
  6479. <member name="M:log4net.Appender.RollingFileAppender.AdjustFileBeforeAppend">
  6480. <summary>
  6481. Performs any required rolling before outputting the next event
  6482. </summary>
  6483. <remarks>
  6484. <para>
  6485. Handles append time behavior for RollingFileAppender. This checks
  6486. if a roll over either by date (checked first) or time (checked second)
  6487. is need and then appends to the file last.
  6488. </para>
  6489. </remarks>
  6490. </member>
  6491. <member name="M:log4net.Appender.RollingFileAppender.OpenFile(System.String,System.Boolean)">
  6492. <summary>
  6493. Creates and opens the file for logging. If <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/>
  6494. is false then the fully qualified name is determined and used.
  6495. </summary>
  6496. <param name="fileName">the name of the file to open</param>
  6497. <param name="append">true to append to existing file</param>
  6498. <remarks>
  6499. <para>This method will ensure that the directory structure
  6500. for the <paramref name="fileName"/> specified exists.</para>
  6501. </remarks>
  6502. </member>
  6503. <member name="M:log4net.Appender.RollingFileAppender.GetNextOutputFileName(System.String)">
  6504. <summary>
  6505. Get the current output file name
  6506. </summary>
  6507. <param name="fileName">the base file name</param>
  6508. <returns>the output file name</returns>
  6509. <remarks>
  6510. The output file name is based on the base fileName specified.
  6511. If <see cref="P:log4net.Appender.RollingFileAppender.StaticLogFileName"/> is set then the output
  6512. file name is the same as the base file passed in. Otherwise
  6513. the output file depends on the date pattern, on the count
  6514. direction or both.
  6515. </remarks>
  6516. </member>
  6517. <member name="M:log4net.Appender.RollingFileAppender.DetermineCurSizeRollBackups">
  6518. <summary>
  6519. Determines curSizeRollBackups (only within the current roll point)
  6520. </summary>
  6521. </member>
  6522. <member name="M:log4net.Appender.RollingFileAppender.GetWildcardPatternForFile(System.String)">
  6523. <summary>
  6524. Generates a wildcard pattern that can be used to find all files
  6525. that are similar to the base file name.
  6526. </summary>
  6527. <param name="baseFileName"></param>
  6528. <returns></returns>
  6529. </member>
  6530. <member name="M:log4net.Appender.RollingFileAppender.GetExistingFiles(System.String)">
  6531. <summary>
  6532. Builds a list of filenames for all files matching the base filename plus a file
  6533. pattern.
  6534. </summary>
  6535. <param name="baseFilePath"></param>
  6536. <returns></returns>
  6537. </member>
  6538. <member name="M:log4net.Appender.RollingFileAppender.RollOverIfDateBoundaryCrossing">
  6539. <summary>
  6540. Initiates a roll over if needed for crossing a date boundary since the last run.
  6541. </summary>
  6542. </member>
  6543. <member name="M:log4net.Appender.RollingFileAppender.ExistingInit">
  6544. <summary>
  6545. Initializes based on existing conditions at time of <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>.
  6546. </summary>
  6547. <remarks>
  6548. <para>
  6549. Initializes based on existing conditions at time of <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/>.
  6550. The following is done
  6551. <list type="bullet">
  6552. <item>determine curSizeRollBackups (only within the current roll point)</item>
  6553. <item>initiates a roll over if needed for crossing a date boundary since the last run.</item>
  6554. </list>
  6555. </para>
  6556. </remarks>
  6557. </member>
  6558. <member name="M:log4net.Appender.RollingFileAppender.InitializeFromOneFile(System.String,System.String)">
  6559. <summary>
  6560. Does the work of bumping the 'current' file counter higher
  6561. to the highest count when an incremental file name is seen.
  6562. The highest count is either the first file (when count direction
  6563. is greater than 0) or the last file (when count direction less than 0).
  6564. In either case, we want to know the highest count that is present.
  6565. </summary>
  6566. <param name="baseFile"></param>
  6567. <param name="curFileName"></param>
  6568. </member>
  6569. <member name="M:log4net.Appender.RollingFileAppender.GetBackUpIndex(System.String)">
  6570. <summary>
  6571. Attempts to extract a number from the end of the file name that indicates
  6572. the number of the times the file has been rolled over.
  6573. </summary>
  6574. <remarks>
  6575. Certain date pattern extensions like yyyyMMdd will be parsed as valid backup indexes.
  6576. </remarks>
  6577. <param name="curFileName"></param>
  6578. <returns></returns>
  6579. </member>
  6580. <member name="M:log4net.Appender.RollingFileAppender.InitializeRollBackups(System.String,System.Collections.ArrayList)">
  6581. <summary>
  6582. Takes a list of files and a base file name, and looks for
  6583. 'incremented' versions of the base file. Bumps the max
  6584. count up to the highest count seen.
  6585. </summary>
  6586. <param name="baseFile"></param>
  6587. <param name="arrayFiles"></param>
  6588. </member>
  6589. <member name="M:log4net.Appender.RollingFileAppender.ComputeCheckPeriod(System.String)">
  6590. <summary>
  6591. Calculates the RollPoint for the datePattern supplied.
  6592. </summary>
  6593. <param name="datePattern">the date pattern to calculate the check period for</param>
  6594. <returns>The RollPoint that is most accurate for the date pattern supplied</returns>
  6595. <remarks>
  6596. Essentially the date pattern is examined to determine what the
  6597. most suitable roll point is. The roll point chosen is the roll point
  6598. with the smallest period that can be detected using the date pattern
  6599. supplied. i.e. if the date pattern only outputs the year, month, day
  6600. and hour then the smallest roll point that can be detected would be
  6601. and hourly roll point as minutes could not be detected.
  6602. </remarks>
  6603. </member>
  6604. <member name="M:log4net.Appender.RollingFileAppender.ActivateOptions">
  6605. <summary>
  6606. Initialize the appender based on the options set
  6607. </summary>
  6608. <remarks>
  6609. <para>
  6610. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  6611. activation scheme. The <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> method must
  6612. be called on this object after the configuration properties have
  6613. been set. Until <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> is called this
  6614. object is in an undefined state and must not be used.
  6615. </para>
  6616. <para>
  6617. If any of the configuration properties are modified then
  6618. <see cref="M:log4net.Appender.RollingFileAppender.ActivateOptions"/> must be called again.
  6619. </para>
  6620. <para>
  6621. Sets initial conditions including date/time roll over information, first check,
  6622. scheduledFilename, and calls <see cref="M:log4net.Appender.RollingFileAppender.ExistingInit"/> to initialize
  6623. the current number of backups.
  6624. </para>
  6625. </remarks>
  6626. </member>
  6627. <member name="M:log4net.Appender.RollingFileAppender.CombinePath(System.String,System.String)">
  6628. <summary>
  6629. </summary>
  6630. <param name="path1"></param>
  6631. <param name="path2">.1, .2, .3, etc.</param>
  6632. <returns></returns>
  6633. </member>
  6634. <member name="M:log4net.Appender.RollingFileAppender.RollOverTime(System.Boolean)">
  6635. <summary>
  6636. Rollover the file(s) to date/time tagged file(s).
  6637. </summary>
  6638. <param name="fileIsOpen">set to true if the file to be rolled is currently open</param>
  6639. <remarks>
  6640. <para>
  6641. Rollover the file(s) to date/time tagged file(s).
  6642. Resets curSizeRollBackups.
  6643. If fileIsOpen is set then the new file is opened (through SafeOpenFile).
  6644. </para>
  6645. </remarks>
  6646. </member>
  6647. <member name="M:log4net.Appender.RollingFileAppender.RollFile(System.String,System.String)">
  6648. <summary>
  6649. Renames file <paramref name="fromFile"/> to file <paramref name="toFile"/>.
  6650. </summary>
  6651. <param name="fromFile">Name of existing file to roll.</param>
  6652. <param name="toFile">New name for file.</param>
  6653. <remarks>
  6654. <para>
  6655. Renames file <paramref name="fromFile"/> to file <paramref name="toFile"/>. It
  6656. also checks for existence of target file and deletes if it does.
  6657. </para>
  6658. </remarks>
  6659. </member>
  6660. <member name="M:log4net.Appender.RollingFileAppender.FileExists(System.String)">
  6661. <summary>
  6662. Test if a file exists at a specified path
  6663. </summary>
  6664. <param name="path">the path to the file</param>
  6665. <returns>true if the file exists</returns>
  6666. <remarks>
  6667. <para>
  6668. Test if a file exists at a specified path
  6669. </para>
  6670. </remarks>
  6671. </member>
  6672. <member name="M:log4net.Appender.RollingFileAppender.DeleteFile(System.String)">
  6673. <summary>
  6674. Deletes the specified file if it exists.
  6675. </summary>
  6676. <param name="fileName">The file to delete.</param>
  6677. <remarks>
  6678. <para>
  6679. Delete a file if is exists.
  6680. The file is first moved to a new filename then deleted.
  6681. This allows the file to be removed even when it cannot
  6682. be deleted, but it still can be moved.
  6683. </para>
  6684. </remarks>
  6685. </member>
  6686. <member name="M:log4net.Appender.RollingFileAppender.RollOverSize">
  6687. <summary>
  6688. Implements file roll base on file size.
  6689. </summary>
  6690. <remarks>
  6691. <para>
  6692. If the maximum number of size based backups is reached
  6693. (<c>curSizeRollBackups == maxSizeRollBackups</c>) then the oldest
  6694. file is deleted -- its index determined by the sign of countDirection.
  6695. If <c>countDirection</c> &lt; 0, then files
  6696. {<c>File.1</c>, ..., <c>File.curSizeRollBackups -1</c>}
  6697. are renamed to {<c>File.2</c>, ...,
  6698. <c>File.curSizeRollBackups</c>}. Moreover, <c>File</c> is
  6699. renamed <c>File.1</c> and closed.
  6700. </para>
  6701. <para>
  6702. A new file is created to receive further log output.
  6703. </para>
  6704. <para>
  6705. If <c>maxSizeRollBackups</c> is equal to zero, then the
  6706. <c>File</c> is truncated with no backup files created.
  6707. </para>
  6708. <para>
  6709. If <c>maxSizeRollBackups</c> &lt; 0, then <c>File</c> is
  6710. renamed if needed and no files are deleted.
  6711. </para>
  6712. </remarks>
  6713. </member>
  6714. <member name="M:log4net.Appender.RollingFileAppender.RollOverRenameFiles(System.String)">
  6715. <summary>
  6716. Implements file roll.
  6717. </summary>
  6718. <param name="baseFileName">the base name to rename</param>
  6719. <remarks>
  6720. <para>
  6721. If the maximum number of size based backups is reached
  6722. (<c>curSizeRollBackups == maxSizeRollBackups</c>) then the oldest
  6723. file is deleted -- its index determined by the sign of countDirection.
  6724. If <c>countDirection</c> &lt; 0, then files
  6725. {<c>File.1</c>, ..., <c>File.curSizeRollBackups -1</c>}
  6726. are renamed to {<c>File.2</c>, ...,
  6727. <c>File.curSizeRollBackups</c>}.
  6728. </para>
  6729. <para>
  6730. If <c>maxSizeRollBackups</c> is equal to zero, then the
  6731. <c>File</c> is truncated with no backup files created.
  6732. </para>
  6733. <para>
  6734. If <c>maxSizeRollBackups</c> &lt; 0, then <c>File</c> is
  6735. renamed if needed and no files are deleted.
  6736. </para>
  6737. <para>
  6738. This is called by <see cref="M:log4net.Appender.RollingFileAppender.RollOverSize"/> to rename the files.
  6739. </para>
  6740. </remarks>
  6741. </member>
  6742. <member name="M:log4net.Appender.RollingFileAppender.NextCheckDate(System.DateTime,log4net.Appender.RollingFileAppender.RollPoint)">
  6743. <summary>
  6744. Get the start time of the next window for the current rollpoint
  6745. </summary>
  6746. <param name="currentDateTime">the current date</param>
  6747. <param name="rollPoint">the type of roll point we are working with</param>
  6748. <returns>the start time for the next roll point an interval after the currentDateTime date</returns>
  6749. <remarks>
  6750. <para>
  6751. Returns the date of the next roll point after the currentDateTime date passed to the method.
  6752. </para>
  6753. <para>
  6754. The basic strategy is to subtract the time parts that are less significant
  6755. than the rollpoint from the current time. This should roll the time back to
  6756. the start of the time window for the current rollpoint. Then we add 1 window
  6757. worth of time and get the start time of the next window for the rollpoint.
  6758. </para>
  6759. </remarks>
  6760. </member>
  6761. <member name="F:log4net.Appender.RollingFileAppender.m_dateTime">
  6762. <summary>
  6763. This object supplies the current date/time. Allows test code to plug in
  6764. a method to control this class when testing date/time based rolling. The default
  6765. implementation uses the underlying value of DateTime.Now.
  6766. </summary>
  6767. </member>
  6768. <member name="F:log4net.Appender.RollingFileAppender.m_datePattern">
  6769. <summary>
  6770. The date pattern. By default, the pattern is set to <c>".yyyy-MM-dd"</c>
  6771. meaning daily rollover.
  6772. </summary>
  6773. </member>
  6774. <member name="F:log4net.Appender.RollingFileAppender.m_scheduledFilename">
  6775. <summary>
  6776. The actual formatted filename that is currently being written to
  6777. or will be the file transferred to on roll over
  6778. (based on staticLogFileName).
  6779. </summary>
  6780. </member>
  6781. <member name="F:log4net.Appender.RollingFileAppender.m_nextCheck">
  6782. <summary>
  6783. The timestamp when we shall next recompute the filename.
  6784. </summary>
  6785. </member>
  6786. <member name="F:log4net.Appender.RollingFileAppender.m_now">
  6787. <summary>
  6788. Holds date of last roll over
  6789. </summary>
  6790. </member>
  6791. <member name="F:log4net.Appender.RollingFileAppender.m_rollPoint">
  6792. <summary>
  6793. The type of rolling done
  6794. </summary>
  6795. </member>
  6796. <member name="F:log4net.Appender.RollingFileAppender.m_maxFileSize">
  6797. <summary>
  6798. The default maximum file size is 10MB
  6799. </summary>
  6800. </member>
  6801. <member name="F:log4net.Appender.RollingFileAppender.m_maxSizeRollBackups">
  6802. <summary>
  6803. There is zero backup files by default
  6804. </summary>
  6805. </member>
  6806. <member name="F:log4net.Appender.RollingFileAppender.m_curSizeRollBackups">
  6807. <summary>
  6808. How many sized based backups have been made so far
  6809. </summary>
  6810. </member>
  6811. <member name="F:log4net.Appender.RollingFileAppender.m_countDirection">
  6812. <summary>
  6813. The rolling file count direction.
  6814. </summary>
  6815. </member>
  6816. <member name="F:log4net.Appender.RollingFileAppender.m_rollingStyle">
  6817. <summary>
  6818. The rolling mode used in this appender.
  6819. </summary>
  6820. </member>
  6821. <member name="F:log4net.Appender.RollingFileAppender.m_rollDate">
  6822. <summary>
  6823. Cache flag set if we are rolling by date.
  6824. </summary>
  6825. </member>
  6826. <member name="F:log4net.Appender.RollingFileAppender.m_rollSize">
  6827. <summary>
  6828. Cache flag set if we are rolling by size.
  6829. </summary>
  6830. </member>
  6831. <member name="F:log4net.Appender.RollingFileAppender.m_staticLogFileName">
  6832. <summary>
  6833. Value indicating whether to always log to the same file.
  6834. </summary>
  6835. </member>
  6836. <member name="F:log4net.Appender.RollingFileAppender.m_preserveLogFileNameExtension">
  6837. <summary>
  6838. Value indicating whether to preserve the file name extension when rolling.
  6839. </summary>
  6840. </member>
  6841. <member name="F:log4net.Appender.RollingFileAppender.m_baseFileName">
  6842. <summary>
  6843. FileName provided in configuration. Used for rolling properly
  6844. </summary>
  6845. </member>
  6846. <member name="F:log4net.Appender.RollingFileAppender.m_mutexForRolling">
  6847. <summary>
  6848. A mutex that is used to lock rolling of files.
  6849. </summary>
  6850. </member>
  6851. <member name="F:log4net.Appender.RollingFileAppender.s_date1970">
  6852. <summary>
  6853. The 1st of January 1970 in UTC
  6854. </summary>
  6855. </member>
  6856. <member name="T:log4net.Appender.RollingFileAppender.IDateTime">
  6857. <summary>
  6858. This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
  6859. </summary>
  6860. <remarks>
  6861. This interface is used to supply Date/Time information to the <see cref="T:log4net.Appender.RollingFileAppender"/>.
  6862. Used primarily to allow test classes to plug themselves in so they can
  6863. supply test date/times.
  6864. </remarks>
  6865. </member>
  6866. <member name="P:log4net.Appender.RollingFileAppender.IDateTime.Now">
  6867. <summary>
  6868. Gets the <i>current</i> time.
  6869. </summary>
  6870. <value>The <i>current</i> time.</value>
  6871. <remarks>
  6872. <para>
  6873. Gets the <i>current</i> time.
  6874. </para>
  6875. </remarks>
  6876. </member>
  6877. <member name="T:log4net.Appender.RollingFileAppender.LocalDateTime">
  6878. <summary>
  6879. Default implementation of <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> that returns the current time.
  6880. </summary>
  6881. </member>
  6882. <member name="P:log4net.Appender.RollingFileAppender.LocalDateTime.Now">
  6883. <summary>
  6884. Gets the <b>current</b> time.
  6885. </summary>
  6886. <value>The <b>current</b> time.</value>
  6887. <remarks>
  6888. <para>
  6889. Gets the <b>current</b> time.
  6890. </para>
  6891. </remarks>
  6892. </member>
  6893. <member name="T:log4net.Appender.RollingFileAppender.UniversalDateTime">
  6894. <summary>
  6895. Implementation of <see cref="T:log4net.Appender.RollingFileAppender.IDateTime"/> that returns the current time as the coordinated universal time (UTC).
  6896. </summary>
  6897. </member>
  6898. <member name="P:log4net.Appender.RollingFileAppender.UniversalDateTime.Now">
  6899. <summary>
  6900. Gets the <b>current</b> time.
  6901. </summary>
  6902. <value>The <b>current</b> time.</value>
  6903. <remarks>
  6904. <para>
  6905. Gets the <b>current</b> time.
  6906. </para>
  6907. </remarks>
  6908. </member>
  6909. <member name="T:log4net.Appender.SmtpAppender">
  6910. <summary>
  6911. Send an e-mail when a specific logging event occurs, typically on errors
  6912. or fatal errors.
  6913. </summary>
  6914. <remarks>
  6915. <para>
  6916. The number of logging events delivered in this e-mail depend on
  6917. the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
  6918. <see cref="T:log4net.Appender.SmtpAppender"/> keeps only the last
  6919. <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its
  6920. cyclic buffer. This keeps memory requirements at a reasonable level while
  6921. still delivering useful application context.
  6922. </para>
  6923. <note type="caution">
  6924. Authentication and setting the server Port are only available on the MS .NET 1.1 runtime.
  6925. For these features to be enabled you need to ensure that you are using a version of
  6926. the log4net assembly that is built against the MS .NET 1.1 framework and that you are
  6927. running the your application on the MS .NET 1.1 runtime. On all other platforms only sending
  6928. unauthenticated messages to a server listening on port 25 (the default) is supported.
  6929. </note>
  6930. <para>
  6931. Authentication is supported by setting the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property to
  6932. either <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> or <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/>.
  6933. If using <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> authentication then the <see cref="P:log4net.Appender.SmtpAppender.Username"/>
  6934. and <see cref="P:log4net.Appender.SmtpAppender.Password"/> properties must also be set.
  6935. </para>
  6936. <para>
  6937. To set the SMTP server port use the <see cref="P:log4net.Appender.SmtpAppender.Port"/> property. The default port is 25.
  6938. </para>
  6939. </remarks>
  6940. <author>Nicko Cadell</author>
  6941. <author>Gert Driesen</author>
  6942. </member>
  6943. <member name="M:log4net.Appender.SmtpAppender.#ctor">
  6944. <summary>
  6945. Default constructor
  6946. </summary>
  6947. <remarks>
  6948. <para>
  6949. Default constructor
  6950. </para>
  6951. </remarks>
  6952. </member>
  6953. <member name="P:log4net.Appender.SmtpAppender.To">
  6954. <summary>
  6955. Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses (use semicolon on .NET 1.1 and comma for later versions).
  6956. </summary>
  6957. <value>
  6958. <para>
  6959. For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
  6960. </para>
  6961. <para>
  6962. For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
  6963. </para>
  6964. </value>
  6965. <remarks>
  6966. <para>
  6967. For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
  6968. </para>
  6969. <para>
  6970. For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
  6971. </para>
  6972. </remarks>
  6973. </member>
  6974. <member name="P:log4net.Appender.SmtpAppender.Cc">
  6975. <summary>
  6976. Gets or sets a comma- or semicolon-delimited list of recipient e-mail addresses
  6977. that will be carbon copied (use semicolon on .NET 1.1 and comma for later versions).
  6978. </summary>
  6979. <value>
  6980. <para>
  6981. For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
  6982. </para>
  6983. <para>
  6984. For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
  6985. </para>
  6986. </value>
  6987. <remarks>
  6988. <para>
  6989. For .NET 1.1 (System.Web.Mail): A semicolon-delimited list of e-mail addresses.
  6990. </para>
  6991. <para>
  6992. For .NET 2.0 (System.Net.Mail): A comma-delimited list of e-mail addresses.
  6993. </para>
  6994. </remarks>
  6995. </member>
  6996. <member name="P:log4net.Appender.SmtpAppender.Bcc">
  6997. <summary>
  6998. Gets or sets a semicolon-delimited list of recipient e-mail addresses
  6999. that will be blind carbon copied.
  7000. </summary>
  7001. <value>
  7002. A semicolon-delimited list of e-mail addresses.
  7003. </value>
  7004. <remarks>
  7005. <para>
  7006. A semicolon-delimited list of recipient e-mail addresses.
  7007. </para>
  7008. </remarks>
  7009. </member>
  7010. <member name="P:log4net.Appender.SmtpAppender.From">
  7011. <summary>
  7012. Gets or sets the e-mail address of the sender.
  7013. </summary>
  7014. <value>
  7015. The e-mail address of the sender.
  7016. </value>
  7017. <remarks>
  7018. <para>
  7019. The e-mail address of the sender.
  7020. </para>
  7021. </remarks>
  7022. </member>
  7023. <member name="P:log4net.Appender.SmtpAppender.Subject">
  7024. <summary>
  7025. Gets or sets the subject line of the e-mail message.
  7026. </summary>
  7027. <value>
  7028. The subject line of the e-mail message.
  7029. </value>
  7030. <remarks>
  7031. <para>
  7032. The subject line of the e-mail message.
  7033. </para>
  7034. </remarks>
  7035. </member>
  7036. <member name="P:log4net.Appender.SmtpAppender.SmtpHost">
  7037. <summary>
  7038. Gets or sets the name of the SMTP relay mail server to use to send
  7039. the e-mail messages.
  7040. </summary>
  7041. <value>
  7042. The name of the e-mail relay server. If SmtpServer is not set, the
  7043. name of the local SMTP server is used.
  7044. </value>
  7045. <remarks>
  7046. <para>
  7047. The name of the e-mail relay server. If SmtpServer is not set, the
  7048. name of the local SMTP server is used.
  7049. </para>
  7050. </remarks>
  7051. </member>
  7052. <member name="P:log4net.Appender.SmtpAppender.LocationInfo">
  7053. <summary>
  7054. Obsolete
  7055. </summary>
  7056. <remarks>
  7057. Use the BufferingAppenderSkeleton Fix methods instead
  7058. </remarks>
  7059. <remarks>
  7060. <para>
  7061. Obsolete property.
  7062. </para>
  7063. </remarks>
  7064. </member>
  7065. <member name="P:log4net.Appender.SmtpAppender.Authentication">
  7066. <summary>
  7067. The mode to use to authentication with the SMTP server
  7068. </summary>
  7069. <remarks>
  7070. <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
  7071. <para>
  7072. Valid Authentication mode values are: <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None"/>,
  7073. <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>, and <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/>.
  7074. The default value is <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None"/>. When using
  7075. <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/> you must specify the <see cref="P:log4net.Appender.SmtpAppender.Username"/>
  7076. and <see cref="P:log4net.Appender.SmtpAppender.Password"/> to use to authenticate.
  7077. When using <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm"/> the Windows credentials for the current
  7078. thread, if impersonating, or the process will be used to authenticate.
  7079. </para>
  7080. </remarks>
  7081. </member>
  7082. <member name="P:log4net.Appender.SmtpAppender.Username">
  7083. <summary>
  7084. The username to use to authenticate with the SMTP server
  7085. </summary>
  7086. <remarks>
  7087. <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
  7088. <para>
  7089. A <see cref="P:log4net.Appender.SmtpAppender.Username"/> and <see cref="P:log4net.Appender.SmtpAppender.Password"/> must be specified when
  7090. <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> is set to <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>,
  7091. otherwise the username will be ignored.
  7092. </para>
  7093. </remarks>
  7094. </member>
  7095. <member name="P:log4net.Appender.SmtpAppender.Password">
  7096. <summary>
  7097. The password to use to authenticate with the SMTP server
  7098. </summary>
  7099. <remarks>
  7100. <note type="caution">Authentication is only available on the MS .NET 1.1 runtime.</note>
  7101. <para>
  7102. A <see cref="P:log4net.Appender.SmtpAppender.Username"/> and <see cref="P:log4net.Appender.SmtpAppender.Password"/> must be specified when
  7103. <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> is set to <see cref="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic"/>,
  7104. otherwise the password will be ignored.
  7105. </para>
  7106. </remarks>
  7107. </member>
  7108. <member name="P:log4net.Appender.SmtpAppender.Port">
  7109. <summary>
  7110. The port on which the SMTP server is listening
  7111. </summary>
  7112. <remarks>
  7113. <note type="caution">Server Port is only available on the MS .NET 1.1 runtime.</note>
  7114. <para>
  7115. The port on which the SMTP server is listening. The default
  7116. port is <c>25</c>. The Port can only be changed when running on
  7117. the MS .NET 1.1 runtime.
  7118. </para>
  7119. </remarks>
  7120. </member>
  7121. <member name="P:log4net.Appender.SmtpAppender.Priority">
  7122. <summary>
  7123. Gets or sets the priority of the e-mail message
  7124. </summary>
  7125. <value>
  7126. One of the <see cref="T:System.Net.Mail.MailPriority"/> values.
  7127. </value>
  7128. <remarks>
  7129. <para>
  7130. Sets the priority of the e-mails generated by this
  7131. appender. The default priority is <see cref="F:System.Net.Mail.MailPriority.Normal"/>.
  7132. </para>
  7133. <para>
  7134. If you are using this appender to report errors then
  7135. you may want to set the priority to <see cref="F:System.Net.Mail.MailPriority.High"/>.
  7136. </para>
  7137. </remarks>
  7138. </member>
  7139. <member name="P:log4net.Appender.SmtpAppender.EnableSsl">
  7140. <summary>
  7141. Enable or disable use of SSL when sending e-mail message
  7142. </summary>
  7143. <remarks>
  7144. This is available on MS .NET 2.0 runtime and higher
  7145. </remarks>
  7146. </member>
  7147. <member name="P:log4net.Appender.SmtpAppender.ReplyTo">
  7148. <summary>
  7149. Gets or sets the reply-to e-mail address.
  7150. </summary>
  7151. <remarks>
  7152. This is available on MS .NET 2.0 runtime and higher
  7153. </remarks>
  7154. </member>
  7155. <member name="P:log4net.Appender.SmtpAppender.SubjectEncoding">
  7156. <summary>
  7157. Gets or sets the subject encoding to be used.
  7158. </summary>
  7159. <remarks>
  7160. The default encoding is the operating system's current ANSI codepage.
  7161. </remarks>
  7162. </member>
  7163. <member name="P:log4net.Appender.SmtpAppender.BodyEncoding">
  7164. <summary>
  7165. Gets or sets the body encoding to be used.
  7166. </summary>
  7167. <remarks>
  7168. The default encoding is the operating system's current ANSI codepage.
  7169. </remarks>
  7170. </member>
  7171. <member name="M:log4net.Appender.SmtpAppender.SendBuffer(log4net.Core.LoggingEvent[])">
  7172. <summary>
  7173. Sends the contents of the cyclic buffer as an e-mail message.
  7174. </summary>
  7175. <param name="events">The logging events to send.</param>
  7176. </member>
  7177. <member name="P:log4net.Appender.SmtpAppender.RequiresLayout">
  7178. <summary>
  7179. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  7180. </summary>
  7181. <value><c>true</c></value>
  7182. <remarks>
  7183. <para>
  7184. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  7185. </para>
  7186. </remarks>
  7187. </member>
  7188. <member name="M:log4net.Appender.SmtpAppender.SendEmail(System.String)">
  7189. <summary>
  7190. Send the email message
  7191. </summary>
  7192. <param name="messageBody">the body text to include in the mail</param>
  7193. </member>
  7194. <member name="T:log4net.Appender.SmtpAppender.SmtpAuthentication">
  7195. <summary>
  7196. Values for the <see cref="P:log4net.Appender.SmtpAppender.Authentication"/> property.
  7197. </summary>
  7198. <remarks>
  7199. <para>
  7200. SMTP authentication modes.
  7201. </para>
  7202. </remarks>
  7203. </member>
  7204. <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.None">
  7205. <summary>
  7206. No authentication
  7207. </summary>
  7208. </member>
  7209. <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Basic">
  7210. <summary>
  7211. Basic authentication.
  7212. </summary>
  7213. <remarks>
  7214. Requires a username and password to be supplied
  7215. </remarks>
  7216. </member>
  7217. <member name="F:log4net.Appender.SmtpAppender.SmtpAuthentication.Ntlm">
  7218. <summary>
  7219. Integrated authentication
  7220. </summary>
  7221. <remarks>
  7222. Uses the Windows credentials from the current thread or process to authenticate.
  7223. </remarks>
  7224. </member>
  7225. <member name="M:log4net.Appender.SmtpAppender.MaybeTrimSeparators(System.String)">
  7226. <summary>
  7227. trims leading and trailing commas or semicolons
  7228. </summary>
  7229. </member>
  7230. <member name="T:log4net.Appender.SmtpPickupDirAppender">
  7231. <summary>
  7232. Send an email when a specific logging event occurs, typically on errors
  7233. or fatal errors. Rather than sending via smtp it writes a file into the
  7234. directory specified by <see cref="P:log4net.Appender.SmtpPickupDirAppender.PickupDir"/>. This allows services such
  7235. as the IIS SMTP agent to manage sending the messages.
  7236. </summary>
  7237. <remarks>
  7238. <para>
  7239. The configuration for this appender is identical to that of the <c>SMTPAppender</c>,
  7240. except that instead of specifying the <c>SMTPAppender.SMTPHost</c> you specify
  7241. <see cref="P:log4net.Appender.SmtpPickupDirAppender.PickupDir"/>.
  7242. </para>
  7243. <para>
  7244. The number of logging events delivered in this e-mail depend on
  7245. the value of <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> option. The
  7246. <see cref="T:log4net.Appender.SmtpPickupDirAppender"/> keeps only the last
  7247. <see cref="P:log4net.Appender.BufferingAppenderSkeleton.BufferSize"/> logging events in its
  7248. cyclic buffer. This keeps memory requirements at a reasonable level while
  7249. still delivering useful application context.
  7250. </para>
  7251. </remarks>
  7252. <author>Niall Daley</author>
  7253. <author>Nicko Cadell</author>
  7254. </member>
  7255. <member name="M:log4net.Appender.SmtpPickupDirAppender.#ctor">
  7256. <summary>
  7257. Default constructor
  7258. </summary>
  7259. <remarks>
  7260. <para>
  7261. Default constructor
  7262. </para>
  7263. </remarks>
  7264. </member>
  7265. <member name="P:log4net.Appender.SmtpPickupDirAppender.To">
  7266. <summary>
  7267. Gets or sets a semicolon-delimited list of recipient e-mail addresses.
  7268. </summary>
  7269. <value>
  7270. A semicolon-delimited list of e-mail addresses.
  7271. </value>
  7272. <remarks>
  7273. <para>
  7274. A semicolon-delimited list of e-mail addresses.
  7275. </para>
  7276. </remarks>
  7277. </member>
  7278. <member name="P:log4net.Appender.SmtpPickupDirAppender.From">
  7279. <summary>
  7280. Gets or sets the e-mail address of the sender.
  7281. </summary>
  7282. <value>
  7283. The e-mail address of the sender.
  7284. </value>
  7285. <remarks>
  7286. <para>
  7287. The e-mail address of the sender.
  7288. </para>
  7289. </remarks>
  7290. </member>
  7291. <member name="P:log4net.Appender.SmtpPickupDirAppender.Subject">
  7292. <summary>
  7293. Gets or sets the subject line of the e-mail message.
  7294. </summary>
  7295. <value>
  7296. The subject line of the e-mail message.
  7297. </value>
  7298. <remarks>
  7299. <para>
  7300. The subject line of the e-mail message.
  7301. </para>
  7302. </remarks>
  7303. </member>
  7304. <member name="P:log4net.Appender.SmtpPickupDirAppender.PickupDir">
  7305. <summary>
  7306. Gets or sets the path to write the messages to.
  7307. </summary>
  7308. <remarks>
  7309. <para>
  7310. Gets or sets the path to write the messages to. This should be the same
  7311. as that used by the agent sending the messages.
  7312. </para>
  7313. </remarks>
  7314. </member>
  7315. <member name="P:log4net.Appender.SmtpPickupDirAppender.FileExtension">
  7316. <summary>
  7317. Gets or sets the file extension for the generated files
  7318. </summary>
  7319. <value>
  7320. The file extension for the generated files
  7321. </value>
  7322. <remarks>
  7323. <para>
  7324. The file extension for the generated files
  7325. </para>
  7326. </remarks>
  7327. </member>
  7328. <member name="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext">
  7329. <summary>
  7330. Gets or sets the <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> used to write to the pickup directory.
  7331. </summary>
  7332. <value>
  7333. The <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> used to write to the pickup directory.
  7334. </value>
  7335. <remarks>
  7336. <para>
  7337. Unless a <see cref="P:log4net.Appender.SmtpPickupDirAppender.SecurityContext"/> specified here for this appender
  7338. the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is queried for the
  7339. security context to use. The default behavior is to use the security context
  7340. of the current thread.
  7341. </para>
  7342. </remarks>
  7343. </member>
  7344. <member name="M:log4net.Appender.SmtpPickupDirAppender.SendBuffer(log4net.Core.LoggingEvent[])">
  7345. <summary>
  7346. Sends the contents of the cyclic buffer as an e-mail message.
  7347. </summary>
  7348. <param name="events">The logging events to send.</param>
  7349. <remarks>
  7350. <para>
  7351. Sends the contents of the cyclic buffer as an e-mail message.
  7352. </para>
  7353. </remarks>
  7354. </member>
  7355. <member name="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions">
  7356. <summary>
  7357. Activate the options on this appender.
  7358. </summary>
  7359. <remarks>
  7360. <para>
  7361. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  7362. activation scheme. The <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> method must
  7363. be called on this object after the configuration properties have
  7364. been set. Until <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> is called this
  7365. object is in an undefined state and must not be used.
  7366. </para>
  7367. <para>
  7368. If any of the configuration properties are modified then
  7369. <see cref="M:log4net.Appender.SmtpPickupDirAppender.ActivateOptions"/> must be called again.
  7370. </para>
  7371. </remarks>
  7372. </member>
  7373. <member name="P:log4net.Appender.SmtpPickupDirAppender.RequiresLayout">
  7374. <summary>
  7375. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  7376. </summary>
  7377. <value><c>true</c></value>
  7378. <remarks>
  7379. <para>
  7380. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  7381. </para>
  7382. </remarks>
  7383. </member>
  7384. <member name="M:log4net.Appender.SmtpPickupDirAppender.ConvertToFullPath(System.String)">
  7385. <summary>
  7386. Convert a path into a fully qualified path.
  7387. </summary>
  7388. <param name="path">The path to convert.</param>
  7389. <returns>The fully qualified path.</returns>
  7390. <remarks>
  7391. <para>
  7392. Converts the path specified to a fully
  7393. qualified path. If the path is relative it is
  7394. taken as relative from the application base
  7395. directory.
  7396. </para>
  7397. </remarks>
  7398. </member>
  7399. <member name="F:log4net.Appender.SmtpPickupDirAppender.m_securityContext">
  7400. <summary>
  7401. The security context to use for privileged calls
  7402. </summary>
  7403. </member>
  7404. <member name="T:log4net.Appender.TelnetAppender">
  7405. <summary>
  7406. Appender that allows clients to connect via Telnet to receive log messages
  7407. </summary>
  7408. <remarks>
  7409. <para>
  7410. The TelnetAppender accepts socket connections and streams logging messages
  7411. back to the client.
  7412. The output is provided in a telnet-friendly way so that a log can be monitored
  7413. over a TCP/IP socket.
  7414. This allows simple remote monitoring of application logging.
  7415. </para>
  7416. <para>
  7417. The default <see cref="P:log4net.Appender.TelnetAppender.Port"/> is 23 (the telnet port).
  7418. </para>
  7419. </remarks>
  7420. <author>Keith Long</author>
  7421. <author>Nicko Cadell</author>
  7422. </member>
  7423. <member name="M:log4net.Appender.TelnetAppender.#ctor">
  7424. <summary>
  7425. Default constructor
  7426. </summary>
  7427. <remarks>
  7428. <para>
  7429. Default constructor
  7430. </para>
  7431. </remarks>
  7432. </member>
  7433. <member name="F:log4net.Appender.TelnetAppender.declaringType">
  7434. <summary>
  7435. The fully qualified type of the TelnetAppender class.
  7436. </summary>
  7437. <remarks>
  7438. Used by the internal logger to record the Type of the
  7439. log message.
  7440. </remarks>
  7441. </member>
  7442. <member name="P:log4net.Appender.TelnetAppender.Port">
  7443. <summary>
  7444. Gets or sets the TCP port number on which this <see cref="T:log4net.Appender.TelnetAppender"/> will listen for connections.
  7445. </summary>
  7446. <value>
  7447. An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort" /> to <see cref="F:System.Net.IPEndPoint.MaxPort" />
  7448. indicating the TCP port number on which this <see cref="T:log4net.Appender.TelnetAppender"/> will listen for connections.
  7449. </value>
  7450. <remarks>
  7451. <para>
  7452. The default value is 23 (the telnet port).
  7453. </para>
  7454. </remarks>
  7455. <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort" />
  7456. or greater than <see cref="F:System.Net.IPEndPoint.MaxPort" />.</exception>
  7457. </member>
  7458. <member name="M:log4net.Appender.TelnetAppender.OnClose">
  7459. <summary>
  7460. Overrides the parent method to close the socket handler
  7461. </summary>
  7462. <remarks>
  7463. <para>
  7464. Closes all the outstanding connections.
  7465. </para>
  7466. </remarks>
  7467. </member>
  7468. <member name="P:log4net.Appender.TelnetAppender.RequiresLayout">
  7469. <summary>
  7470. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  7471. </summary>
  7472. <value><c>true</c></value>
  7473. <remarks>
  7474. <para>
  7475. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  7476. </para>
  7477. </remarks>
  7478. </member>
  7479. <member name="M:log4net.Appender.TelnetAppender.ActivateOptions">
  7480. <summary>
  7481. Initialize the appender based on the options set.
  7482. </summary>
  7483. <remarks>
  7484. <para>
  7485. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  7486. activation scheme. The <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> method must
  7487. be called on this object after the configuration properties have
  7488. been set. Until <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> is called this
  7489. object is in an undefined state and must not be used.
  7490. </para>
  7491. <para>
  7492. If any of the configuration properties are modified then
  7493. <see cref="M:log4net.Appender.TelnetAppender.ActivateOptions"/> must be called again.
  7494. </para>
  7495. <para>
  7496. Create the socket handler and wait for connections
  7497. </para>
  7498. </remarks>
  7499. </member>
  7500. <member name="M:log4net.Appender.TelnetAppender.Append(log4net.Core.LoggingEvent)">
  7501. <summary>
  7502. Writes the logging event to each connected client.
  7503. </summary>
  7504. <param name="loggingEvent">The event to log.</param>
  7505. <remarks>
  7506. <para>
  7507. Writes the logging event to each connected client.
  7508. </para>
  7509. </remarks>
  7510. </member>
  7511. <member name="T:log4net.Appender.TelnetAppender.SocketHandler">
  7512. <summary>
  7513. Helper class to manage connected clients
  7514. </summary>
  7515. <remarks>
  7516. <para>
  7517. The SocketHandler class is used to accept connections from
  7518. clients. It is threaded so that clients can connect/disconnect
  7519. asynchronously.
  7520. </para>
  7521. </remarks>
  7522. </member>
  7523. <member name="T:log4net.Appender.TelnetAppender.SocketHandler.SocketClient">
  7524. <summary>
  7525. Class that represents a client connected to this handler
  7526. </summary>
  7527. <remarks>
  7528. <para>
  7529. Class that represents a client connected to this handler
  7530. </para>
  7531. </remarks>
  7532. </member>
  7533. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.#ctor(System.Net.Sockets.Socket)">
  7534. <summary>
  7535. Create this <see cref="T:log4net.Appender.TelnetAppender.SocketHandler.SocketClient"/> for the specified <see cref="T:System.Net.Sockets.Socket"/>
  7536. </summary>
  7537. <param name="socket">the client's socket</param>
  7538. <remarks>
  7539. <para>
  7540. Opens a stream writer on the socket.
  7541. </para>
  7542. </remarks>
  7543. </member>
  7544. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.Send(System.String)">
  7545. <summary>
  7546. Write a string to the client
  7547. </summary>
  7548. <param name="message">string to send</param>
  7549. <remarks>
  7550. <para>
  7551. Write a string to the client
  7552. </para>
  7553. </remarks>
  7554. </member>
  7555. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.SocketClient.Dispose">
  7556. <summary>
  7557. Cleanup the clients connection
  7558. </summary>
  7559. <remarks>
  7560. <para>
  7561. Close the socket connection.
  7562. </para>
  7563. </remarks>
  7564. </member>
  7565. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.#ctor(System.Int32)">
  7566. <summary>
  7567. Opens a new server port on <paramref ref="port"/>
  7568. </summary>
  7569. <param name="port">the local port to listen on for connections</param>
  7570. <remarks>
  7571. <para>
  7572. Creates a socket handler on the specified local server port.
  7573. </para>
  7574. </remarks>
  7575. </member>
  7576. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.Send(System.String)">
  7577. <summary>
  7578. Sends a string message to each of the connected clients
  7579. </summary>
  7580. <param name="message">the text to send</param>
  7581. <remarks>
  7582. <para>
  7583. Sends a string message to each of the connected clients
  7584. </para>
  7585. </remarks>
  7586. </member>
  7587. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.AddClient(log4net.Appender.TelnetAppender.SocketHandler.SocketClient)">
  7588. <summary>
  7589. Add a client to the internal clients list
  7590. </summary>
  7591. <param name="client">client to add</param>
  7592. </member>
  7593. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.RemoveClient(log4net.Appender.TelnetAppender.SocketHandler.SocketClient)">
  7594. <summary>
  7595. Remove a client from the internal clients list
  7596. </summary>
  7597. <param name="client">client to remove</param>
  7598. </member>
  7599. <member name="P:log4net.Appender.TelnetAppender.SocketHandler.HasConnections">
  7600. <summary>
  7601. Test if this handler has active connections
  7602. </summary>
  7603. <value>
  7604. <c>true</c> if this handler has active connections
  7605. </value>
  7606. <remarks>
  7607. <para>
  7608. This property will be <c>true</c> while this handler has
  7609. active connections, that is at least one connection that
  7610. the handler will attempt to send a message to.
  7611. </para>
  7612. </remarks>
  7613. </member>
  7614. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.OnConnect(System.IAsyncResult)">
  7615. <summary>
  7616. Callback used to accept a connection on the server socket
  7617. </summary>
  7618. <param name="asyncResult">The result of the asynchronous operation</param>
  7619. <remarks>
  7620. <para>
  7621. On connection adds to the list of connections
  7622. if there are two many open connections you will be disconnected
  7623. </para>
  7624. </remarks>
  7625. </member>
  7626. <member name="M:log4net.Appender.TelnetAppender.SocketHandler.Dispose">
  7627. <summary>
  7628. Close all network connections
  7629. </summary>
  7630. <remarks>
  7631. <para>
  7632. Make sure we close all network connections
  7633. </para>
  7634. </remarks>
  7635. </member>
  7636. <member name="T:log4net.Appender.TextWriterAppender">
  7637. <summary>
  7638. Sends logging events to a <see cref="T:System.IO.TextWriter"/>.
  7639. </summary>
  7640. <remarks>
  7641. <para>
  7642. An Appender that writes to a <see cref="T:System.IO.TextWriter"/>.
  7643. </para>
  7644. <para>
  7645. This appender may be used stand alone if initialized with an appropriate
  7646. writer, however it is typically used as a base class for an appender that
  7647. can open a <see cref="T:System.IO.TextWriter"/> to write to.
  7648. </para>
  7649. </remarks>
  7650. <author>Nicko Cadell</author>
  7651. <author>Gert Driesen</author>
  7652. <author>Douglas de la Torre</author>
  7653. </member>
  7654. <member name="M:log4net.Appender.TextWriterAppender.#ctor">
  7655. <summary>
  7656. Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender" /> class.
  7657. </summary>
  7658. <remarks>
  7659. <para>
  7660. Default constructor.
  7661. </para>
  7662. </remarks>
  7663. </member>
  7664. <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.Stream)">
  7665. <summary>
  7666. Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender" /> class and
  7667. sets the output destination to a new <see cref="T:System.IO.StreamWriter"/> initialized
  7668. with the specified <see cref="T:System.IO.Stream"/>.
  7669. </summary>
  7670. <param name="layout">The layout to use with this appender.</param>
  7671. <param name="os">The <see cref="T:System.IO.Stream"/> to output to.</param>
  7672. <remarks>
  7673. <para>
  7674. Obsolete constructor.
  7675. </para>
  7676. </remarks>
  7677. </member>
  7678. <member name="M:log4net.Appender.TextWriterAppender.#ctor(log4net.Layout.ILayout,System.IO.TextWriter)">
  7679. <summary>
  7680. Initializes a new instance of the <see cref="T:log4net.Appender.TextWriterAppender" /> class and sets
  7681. the output destination to the specified <see cref="T:System.IO.StreamWriter" />.
  7682. </summary>
  7683. <param name="layout">The layout to use with this appender</param>
  7684. <param name="writer">The <see cref="T:System.IO.TextWriter" /> to output to</param>
  7685. <remarks>
  7686. The <see cref="T:System.IO.TextWriter" /> must have been previously opened.
  7687. </remarks>
  7688. <remarks>
  7689. <para>
  7690. Obsolete constructor.
  7691. </para>
  7692. </remarks>
  7693. </member>
  7694. <member name="P:log4net.Appender.TextWriterAppender.ImmediateFlush">
  7695. <summary>
  7696. Gets or set whether the appender will flush at the end
  7697. of each append operation.
  7698. </summary>
  7699. <value>
  7700. <para>
  7701. The default behavior is to flush at the end of each
  7702. append operation.
  7703. </para>
  7704. <para>
  7705. If this option is set to <c>false</c>, then the underlying
  7706. stream can defer persisting the logging event to a later
  7707. time.
  7708. </para>
  7709. </value>
  7710. <remarks>
  7711. Avoiding the flush operation at the end of each append results in
  7712. a performance gain of 10 to 20 percent. However, there is safety
  7713. trade-off involved in skipping flushing. Indeed, when flushing is
  7714. skipped, then it is likely that the last few log events will not
  7715. be recorded on disk when the application exits. This is a high
  7716. price to pay even for a 20% performance gain.
  7717. </remarks>
  7718. </member>
  7719. <member name="P:log4net.Appender.TextWriterAppender.Writer">
  7720. <summary>
  7721. Sets the <see cref="T:System.IO.TextWriter"/> where the log output will go.
  7722. </summary>
  7723. <remarks>
  7724. <para>
  7725. The specified <see cref="T:System.IO.TextWriter"/> must be open and writable.
  7726. </para>
  7727. <para>
  7728. The <see cref="T:System.IO.TextWriter"/> will be closed when the appender
  7729. instance is closed.
  7730. </para>
  7731. <para>
  7732. <b>Note:</b> Logging to an unopened <see cref="T:System.IO.TextWriter"/> will fail.
  7733. </para>
  7734. </remarks>
  7735. </member>
  7736. <member name="M:log4net.Appender.TextWriterAppender.PreAppendCheck">
  7737. <summary>
  7738. This method determines if there is a sense in attempting to append.
  7739. </summary>
  7740. <remarks>
  7741. <para>
  7742. This method checks if an output target has been set and if a
  7743. layout has been set.
  7744. </para>
  7745. </remarks>
  7746. <returns><c>false</c> if any of the preconditions fail.</returns>
  7747. </member>
  7748. <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent)">
  7749. <summary>
  7750. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/>
  7751. method.
  7752. </summary>
  7753. <param name="loggingEvent">The event to log.</param>
  7754. <remarks>
  7755. <para>
  7756. Writes a log statement to the output stream if the output stream exists
  7757. and is writable.
  7758. </para>
  7759. <para>
  7760. The format of the output will depend on the appender's layout.
  7761. </para>
  7762. </remarks>
  7763. </member>
  7764. <member name="M:log4net.Appender.TextWriterAppender.Append(log4net.Core.LoggingEvent[])">
  7765. <summary>
  7766. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent[])"/>
  7767. method.
  7768. </summary>
  7769. <param name="loggingEvents">The array of events to log.</param>
  7770. <remarks>
  7771. <para>
  7772. This method writes all the bulk logged events to the output writer
  7773. before flushing the stream.
  7774. </para>
  7775. </remarks>
  7776. </member>
  7777. <member name="M:log4net.Appender.TextWriterAppender.OnClose">
  7778. <summary>
  7779. Close this appender instance. The underlying stream or writer is also closed.
  7780. </summary>
  7781. <remarks>
  7782. Closed appenders cannot be reused.
  7783. </remarks>
  7784. </member>
  7785. <member name="P:log4net.Appender.TextWriterAppender.ErrorHandler">
  7786. <summary>
  7787. Gets or set the <see cref="T:log4net.Core.IErrorHandler"/> and the underlying
  7788. <see cref="T:log4net.Util.QuietTextWriter"/>, if any, for this appender.
  7789. </summary>
  7790. <value>
  7791. The <see cref="T:log4net.Core.IErrorHandler"/> for this appender.
  7792. </value>
  7793. </member>
  7794. <member name="P:log4net.Appender.TextWriterAppender.RequiresLayout">
  7795. <summary>
  7796. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  7797. </summary>
  7798. <value><c>true</c></value>
  7799. <remarks>
  7800. <para>
  7801. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  7802. </para>
  7803. </remarks>
  7804. </member>
  7805. <member name="M:log4net.Appender.TextWriterAppender.WriteFooterAndCloseWriter">
  7806. <summary>
  7807. Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
  7808. </summary>
  7809. <remarks>
  7810. <para>
  7811. Writes the footer and closes the underlying <see cref="T:System.IO.TextWriter"/>.
  7812. </para>
  7813. </remarks>
  7814. </member>
  7815. <member name="M:log4net.Appender.TextWriterAppender.CloseWriter">
  7816. <summary>
  7817. Closes the underlying <see cref="T:System.IO.TextWriter"/>.
  7818. </summary>
  7819. <remarks>
  7820. <para>
  7821. Closes the underlying <see cref="T:System.IO.TextWriter"/>.
  7822. </para>
  7823. </remarks>
  7824. </member>
  7825. <member name="M:log4net.Appender.TextWriterAppender.Reset">
  7826. <summary>
  7827. Clears internal references to the underlying <see cref="T:System.IO.TextWriter" />
  7828. and other variables.
  7829. </summary>
  7830. <remarks>
  7831. <para>
  7832. Subclasses can override this method for an alternate closing behavior.
  7833. </para>
  7834. </remarks>
  7835. </member>
  7836. <member name="M:log4net.Appender.TextWriterAppender.WriteFooter">
  7837. <summary>
  7838. Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
  7839. </summary>
  7840. <remarks>
  7841. <para>
  7842. Writes a footer as produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Footer"/> property.
  7843. </para>
  7844. </remarks>
  7845. </member>
  7846. <member name="M:log4net.Appender.TextWriterAppender.WriteHeader">
  7847. <summary>
  7848. Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
  7849. </summary>
  7850. <remarks>
  7851. <para>
  7852. Writes a header produced by the embedded layout's <see cref="P:log4net.Layout.ILayout.Header"/> property.
  7853. </para>
  7854. </remarks>
  7855. </member>
  7856. <member name="M:log4net.Appender.TextWriterAppender.PrepareWriter">
  7857. <summary>
  7858. Called to allow a subclass to lazily initialize the writer
  7859. </summary>
  7860. <remarks>
  7861. <para>
  7862. This method is called when an event is logged and the <see cref="P:log4net.Appender.TextWriterAppender.Writer"/> or
  7863. <see cref="P:log4net.Appender.TextWriterAppender.QuietWriter"/> have not been set. This allows a subclass to
  7864. attempt to initialize the writer multiple times.
  7865. </para>
  7866. </remarks>
  7867. </member>
  7868. <member name="P:log4net.Appender.TextWriterAppender.QuietWriter">
  7869. <summary>
  7870. Gets or sets the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
  7871. will be written to.
  7872. </summary>
  7873. <value>
  7874. The <see cref="T:log4net.Util.QuietTextWriter"/> where logging events are written.
  7875. </value>
  7876. <remarks>
  7877. <para>
  7878. This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
  7879. will be written to.
  7880. </para>
  7881. </remarks>
  7882. </member>
  7883. <member name="F:log4net.Appender.TextWriterAppender.m_qtw">
  7884. <summary>
  7885. This is the <see cref="T:log4net.Util.QuietTextWriter"/> where logging events
  7886. will be written to.
  7887. </summary>
  7888. </member>
  7889. <member name="F:log4net.Appender.TextWriterAppender.m_immediateFlush">
  7890. <summary>
  7891. Immediate flush means that the underlying <see cref="T:System.IO.TextWriter" />
  7892. or output stream will be flushed at the end of each append operation.
  7893. </summary>
  7894. <remarks>
  7895. <para>
  7896. Immediate flush is slower but ensures that each append request is
  7897. actually written. If <see cref="P:log4net.Appender.TextWriterAppender.ImmediateFlush"/> is set to
  7898. <c>false</c>, then there is a good chance that the last few
  7899. logging events are not actually persisted if and when the application
  7900. crashes.
  7901. </para>
  7902. <para>
  7903. The default value is <c>true</c>.
  7904. </para>
  7905. </remarks>
  7906. </member>
  7907. <member name="F:log4net.Appender.TextWriterAppender.declaringType">
  7908. <summary>
  7909. The fully qualified type of the TextWriterAppender class.
  7910. </summary>
  7911. <remarks>
  7912. Used by the internal logger to record the Type of the
  7913. log message.
  7914. </remarks>
  7915. </member>
  7916. <member name="M:log4net.Appender.TextWriterAppender.Flush(System.Int32)">
  7917. <summary>
  7918. Flushes any buffered log data.
  7919. </summary>
  7920. <param name="millisecondsTimeout">The maximum time to wait for logging events to be flushed.</param>
  7921. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  7922. </member>
  7923. <member name="T:log4net.Appender.TraceAppender">
  7924. <summary>
  7925. Appends log events to the <see cref="T:System.Diagnostics.Trace"/> system.
  7926. </summary>
  7927. <remarks>
  7928. <para>
  7929. The application configuration file can be used to control what listeners
  7930. are actually used. See the MSDN documentation for the
  7931. <see cref="T:System.Diagnostics.Trace"/> class for details on configuring the
  7932. trace system.
  7933. </para>
  7934. <para>
  7935. Events are written using the <c>System.Diagnostics.Trace.Write(string,string)</c>
  7936. method. The event's logger name is the default value for the category parameter
  7937. of the Write method.
  7938. </para>
  7939. <para>
  7940. <b>Compact Framework</b><br />
  7941. The Compact Framework does not support the <see cref="T:System.Diagnostics.Trace"/>
  7942. class for any operation except <c>Assert</c>. When using the Compact Framework this
  7943. appender will write to the <see cref="T:System.Diagnostics.Debug"/> system rather than
  7944. the Trace system. This appender will therefore behave like the <see cref="T:log4net.Appender.DebugAppender"/>.
  7945. </para>
  7946. </remarks>
  7947. <author>Douglas de la Torre</author>
  7948. <author>Nicko Cadell</author>
  7949. <author>Gert Driesen</author>
  7950. <author>Ron Grabowski</author>
  7951. </member>
  7952. <member name="M:log4net.Appender.TraceAppender.#ctor">
  7953. <summary>
  7954. Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender" />.
  7955. </summary>
  7956. <remarks>
  7957. <para>
  7958. Default constructor.
  7959. </para>
  7960. </remarks>
  7961. </member>
  7962. <member name="M:log4net.Appender.TraceAppender.#ctor(log4net.Layout.ILayout)">
  7963. <summary>
  7964. Initializes a new instance of the <see cref="T:log4net.Appender.TraceAppender" />
  7965. with a specified layout.
  7966. </summary>
  7967. <param name="layout">The layout to use with this appender.</param>
  7968. <remarks>
  7969. <para>
  7970. Obsolete constructor.
  7971. </para>
  7972. </remarks>
  7973. </member>
  7974. <member name="P:log4net.Appender.TraceAppender.ImmediateFlush">
  7975. <summary>
  7976. Gets or sets a value that indicates whether the appender will
  7977. flush at the end of each write.
  7978. </summary>
  7979. <remarks>
  7980. <para>The default behavior is to flush at the end of each
  7981. write. If the option is set to<c>false</c>, then the underlying
  7982. stream can defer writing to physical medium to a later time.
  7983. </para>
  7984. <para>
  7985. Avoiding the flush operation at the end of each append results
  7986. in a performance gain of 10 to 20 percent. However, there is safety
  7987. trade-off involved in skipping flushing. Indeed, when flushing is
  7988. skipped, then it is likely that the last few log events will not
  7989. be recorded on disk when the application exits. This is a high
  7990. price to pay even for a 20% performance gain.
  7991. </para>
  7992. </remarks>
  7993. </member>
  7994. <member name="P:log4net.Appender.TraceAppender.Category">
  7995. <summary>
  7996. The category parameter sent to the Trace method.
  7997. </summary>
  7998. <remarks>
  7999. <para>
  8000. Defaults to %logger which will use the logger name of the current
  8001. <see cref="T:log4net.Core.LoggingEvent"/> as the category parameter.
  8002. </para>
  8003. <para>
  8004. </para>
  8005. </remarks>
  8006. </member>
  8007. <member name="M:log4net.Appender.TraceAppender.Append(log4net.Core.LoggingEvent)">
  8008. <summary>
  8009. Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
  8010. </summary>
  8011. <param name="loggingEvent">The event to log.</param>
  8012. <remarks>
  8013. <para>
  8014. Writes the logging event to the <see cref="T:System.Diagnostics.Trace"/> system.
  8015. </para>
  8016. </remarks>
  8017. </member>
  8018. <member name="P:log4net.Appender.TraceAppender.RequiresLayout">
  8019. <summary>
  8020. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  8021. </summary>
  8022. <value><c>true</c></value>
  8023. <remarks>
  8024. <para>
  8025. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  8026. </para>
  8027. </remarks>
  8028. </member>
  8029. <member name="F:log4net.Appender.TraceAppender.m_immediateFlush">
  8030. <summary>
  8031. Immediate flush means that the underlying writer or output stream
  8032. will be flushed at the end of each append operation.
  8033. </summary>
  8034. <remarks>
  8035. <para>
  8036. Immediate flush is slower but ensures that each append request is
  8037. actually written. If <see cref="P:log4net.Appender.TraceAppender.ImmediateFlush"/> is set to
  8038. <c>false</c>, then there is a good chance that the last few
  8039. logs events are not actually written to persistent media if and
  8040. when the application crashes.
  8041. </para>
  8042. <para>
  8043. The default value is <c>true</c>.</para>
  8044. </remarks>
  8045. </member>
  8046. <member name="F:log4net.Appender.TraceAppender.m_category">
  8047. <summary>
  8048. Defaults to %logger
  8049. </summary>
  8050. </member>
  8051. <member name="M:log4net.Appender.TraceAppender.Flush(System.Int32)">
  8052. <summary>
  8053. Flushes any buffered log data.
  8054. </summary>
  8055. <param name="millisecondsTimeout">The maximum time to wait for logging events to be flushed.</param>
  8056. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  8057. </member>
  8058. <member name="T:log4net.Appender.UdpAppender">
  8059. <summary>
  8060. Sends logging events as connectionless UDP datagrams to a remote host or a
  8061. multicast group using an <see cref="T:System.Net.Sockets.UdpClient" />.
  8062. </summary>
  8063. <remarks>
  8064. <para>
  8065. UDP guarantees neither that messages arrive, nor that they arrive in the correct order.
  8066. </para>
  8067. <para>
  8068. To view the logging results, a custom application can be developed that listens for logging
  8069. events.
  8070. </para>
  8071. <para>
  8072. When decoding events send via this appender remember to use the same encoding
  8073. to decode the events as was used to send the events. See the <see cref="P:log4net.Appender.UdpAppender.Encoding"/>
  8074. property to specify the encoding to use.
  8075. </para>
  8076. </remarks>
  8077. <example>
  8078. This example shows how to log receive logging events that are sent
  8079. on IP address 244.0.0.1 and port 8080 to the console. The event is
  8080. encoded in the packet as a unicode string and it is decoded as such.
  8081. <code lang="C#">
  8082. IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
  8083. UdpClient udpClient;
  8084. byte[] buffer;
  8085. string loggingEvent;
  8086. try
  8087. {
  8088. udpClient = new UdpClient(8080);
  8089. while(true)
  8090. {
  8091. buffer = udpClient.Receive(ref remoteEndPoint);
  8092. loggingEvent = System.Text.Encoding.Unicode.GetString(buffer);
  8093. Console.WriteLine(loggingEvent);
  8094. }
  8095. }
  8096. catch(Exception e)
  8097. {
  8098. Console.WriteLine(e.ToString());
  8099. }
  8100. </code>
  8101. <code lang="Visual Basic">
  8102. Dim remoteEndPoint as IPEndPoint
  8103. Dim udpClient as UdpClient
  8104. Dim buffer as Byte()
  8105. Dim loggingEvent as String
  8106. Try
  8107. remoteEndPoint = new IPEndPoint(IPAddress.Any, 0)
  8108. udpClient = new UdpClient(8080)
  8109. While True
  8110. buffer = udpClient.Receive(ByRef remoteEndPoint)
  8111. loggingEvent = System.Text.Encoding.Unicode.GetString(buffer)
  8112. Console.WriteLine(loggingEvent)
  8113. Wend
  8114. Catch e As Exception
  8115. Console.WriteLine(e.ToString())
  8116. End Try
  8117. </code>
  8118. <para>
  8119. An example configuration section to log information using this appender to the
  8120. IP 224.0.0.1 on port 8080:
  8121. </para>
  8122. <code lang="XML" escaped="true">
  8123. <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
  8124. <remoteAddress value="224.0.0.1" />
  8125. <remotePort value="8080" />
  8126. <layout type="log4net.Layout.PatternLayout" value="%-5level %logger [%ndc] - %message%newline" />
  8127. </appender>
  8128. </code>
  8129. </example>
  8130. <author>Gert Driesen</author>
  8131. <author>Nicko Cadell</author>
  8132. </member>
  8133. <member name="M:log4net.Appender.UdpAppender.#ctor">
  8134. <summary>
  8135. Initializes a new instance of the <see cref="T:log4net.Appender.UdpAppender" /> class.
  8136. </summary>
  8137. <remarks>
  8138. The default constructor initializes all fields to their default values.
  8139. </remarks>
  8140. </member>
  8141. <member name="P:log4net.Appender.UdpAppender.RemoteAddress">
  8142. <summary>
  8143. Gets or sets the IP address of the remote host or multicast group to which
  8144. the underlying <see cref="T:System.Net.Sockets.UdpClient" /> should sent the logging event.
  8145. </summary>
  8146. <value>
  8147. The IP address of the remote host or multicast group to which the logging event
  8148. will be sent.
  8149. </value>
  8150. <remarks>
  8151. <para>
  8152. Multicast addresses are identified by IP class <b>D</b> addresses (in the range 224.0.0.0 to
  8153. 239.255.255.255). Multicast packets can pass across different networks through routers, so
  8154. it is possible to use multicasts in an Internet scenario as long as your network provider
  8155. supports multicasting.
  8156. </para>
  8157. <para>
  8158. Hosts that want to receive particular multicast messages must register their interest by joining
  8159. the multicast group. Multicast messages are not sent to networks where no host has joined
  8160. the multicast group. Class <b>D</b> IP addresses are used for multicast groups, to differentiate
  8161. them from normal host addresses, allowing nodes to easily detect if a message is of interest.
  8162. </para>
  8163. <para>
  8164. Static multicast addresses that are needed globally are assigned by IANA. A few examples are listed in the table below:
  8165. </para>
  8166. <para>
  8167. <list type="table">
  8168. <listheader>
  8169. <term>IP Address</term>
  8170. <description>Description</description>
  8171. </listheader>
  8172. <item>
  8173. <term>224.0.0.1</term>
  8174. <description>
  8175. <para>
  8176. Sends a message to all system on the subnet.
  8177. </para>
  8178. </description>
  8179. </item>
  8180. <item>
  8181. <term>224.0.0.2</term>
  8182. <description>
  8183. <para>
  8184. Sends a message to all routers on the subnet.
  8185. </para>
  8186. </description>
  8187. </item>
  8188. <item>
  8189. <term>224.0.0.12</term>
  8190. <description>
  8191. <para>
  8192. The DHCP server answers messages on the IP address 224.0.0.12, but only on a subnet.
  8193. </para>
  8194. </description>
  8195. </item>
  8196. </list>
  8197. </para>
  8198. <para>
  8199. A complete list of actually reserved multicast addresses and their owners in the ranges
  8200. defined by RFC 3171 can be found at the <A href="http://www.iana.org/assignments/multicast-addresses">IANA web site</A>.
  8201. </para>
  8202. <para>
  8203. The address range 239.0.0.0 to 239.255.255.255 is reserved for administrative scope-relative
  8204. addresses. These addresses can be reused with other local groups. Routers are typically
  8205. configured with filters to prevent multicast traffic in this range from flowing outside
  8206. of the local network.
  8207. </para>
  8208. </remarks>
  8209. </member>
  8210. <member name="P:log4net.Appender.UdpAppender.RemotePort">
  8211. <summary>
  8212. Gets or sets the TCP port number of the remote host or multicast group to which
  8213. the underlying <see cref="T:System.Net.Sockets.UdpClient" /> should sent the logging event.
  8214. </summary>
  8215. <value>
  8216. An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort" /> to <see cref="F:System.Net.IPEndPoint.MaxPort" />
  8217. indicating the TCP port number of the remote host or multicast group to which the logging event
  8218. will be sent.
  8219. </value>
  8220. <remarks>
  8221. The underlying <see cref="T:System.Net.Sockets.UdpClient" /> will send messages to this TCP port number
  8222. on the remote host or multicast group.
  8223. </remarks>
  8224. <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort" /> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort" />.</exception>
  8225. </member>
  8226. <member name="P:log4net.Appender.UdpAppender.LocalPort">
  8227. <summary>
  8228. Gets or sets the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient" /> will communicate.
  8229. </summary>
  8230. <value>
  8231. An integer value in the range <see cref="F:System.Net.IPEndPoint.MinPort" /> to <see cref="F:System.Net.IPEndPoint.MaxPort" />
  8232. indicating the TCP port number from which the underlying <see cref="T:System.Net.Sockets.UdpClient" /> will communicate.
  8233. </value>
  8234. <remarks>
  8235. <para>
  8236. The underlying <see cref="T:System.Net.Sockets.UdpClient" /> will bind to this port for sending messages.
  8237. </para>
  8238. <para>
  8239. Setting the value to 0 (the default) will cause the udp client not to bind to
  8240. a local port.
  8241. </para>
  8242. </remarks>
  8243. <exception cref="T:System.ArgumentOutOfRangeException">The value specified is less than <see cref="F:System.Net.IPEndPoint.MinPort" /> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort" />.</exception>
  8244. </member>
  8245. <member name="P:log4net.Appender.UdpAppender.Encoding">
  8246. <summary>
  8247. Gets or sets <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
  8248. </summary>
  8249. <value>
  8250. The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
  8251. </value>
  8252. <remarks>
  8253. <para>
  8254. The <see cref="P:log4net.Appender.UdpAppender.Encoding"/> used to write the packets.
  8255. </para>
  8256. </remarks>
  8257. </member>
  8258. <member name="P:log4net.Appender.UdpAppender.Client">
  8259. <summary>
  8260. Gets or sets the underlying <see cref="T:System.Net.Sockets.UdpClient" />.
  8261. </summary>
  8262. <value>
  8263. The underlying <see cref="T:System.Net.Sockets.UdpClient" />.
  8264. </value>
  8265. <remarks>
  8266. <see cref="T:log4net.Appender.UdpAppender" /> creates a <see cref="T:System.Net.Sockets.UdpClient" /> to send logging events
  8267. over a network. Classes deriving from <see cref="T:log4net.Appender.UdpAppender" /> can use this
  8268. property to get or set this <see cref="T:System.Net.Sockets.UdpClient" />. Use the underlying <see cref="T:System.Net.Sockets.UdpClient" />
  8269. returned from <see cref="P:log4net.Appender.UdpAppender.Client" /> if you require access beyond that which
  8270. <see cref="T:log4net.Appender.UdpAppender" /> provides.
  8271. </remarks>
  8272. </member>
  8273. <member name="P:log4net.Appender.UdpAppender.RemoteEndPoint">
  8274. <summary>
  8275. Gets or sets the cached remote endpoint to which the logging events should be sent.
  8276. </summary>
  8277. <value>
  8278. The cached remote endpoint to which the logging events will be sent.
  8279. </value>
  8280. <remarks>
  8281. The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions" /> method will initialize the remote endpoint
  8282. with the values of the <see cref="P:log4net.Appender.UdpAppender.RemoteAddress" /> and <see cref="P:log4net.Appender.UdpAppender.RemotePort"/>
  8283. properties.
  8284. </remarks>
  8285. </member>
  8286. <member name="M:log4net.Appender.UdpAppender.ActivateOptions">
  8287. <summary>
  8288. Initialize the appender based on the options set.
  8289. </summary>
  8290. <remarks>
  8291. <para>
  8292. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  8293. activation scheme. The <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> method must
  8294. be called on this object after the configuration properties have
  8295. been set. Until <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> is called this
  8296. object is in an undefined state and must not be used.
  8297. </para>
  8298. <para>
  8299. If any of the configuration properties are modified then
  8300. <see cref="M:log4net.Appender.UdpAppender.ActivateOptions"/> must be called again.
  8301. </para>
  8302. <para>
  8303. The appender will be ignored if no <see cref="P:log4net.Appender.UdpAppender.RemoteAddress" /> was specified or
  8304. an invalid remote or local TCP port number was specified.
  8305. </para>
  8306. </remarks>
  8307. <exception cref="T:System.ArgumentNullException">The required property <see cref="P:log4net.Appender.UdpAppender.RemoteAddress" /> was not specified.</exception>
  8308. <exception cref="T:System.ArgumentOutOfRangeException">The TCP port number assigned to <see cref="P:log4net.Appender.UdpAppender.LocalPort" /> or <see cref="P:log4net.Appender.UdpAppender.RemotePort" /> is less than <see cref="F:System.Net.IPEndPoint.MinPort" /> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort" />.</exception>
  8309. </member>
  8310. <member name="M:log4net.Appender.UdpAppender.Append(log4net.Core.LoggingEvent)">
  8311. <summary>
  8312. This method is called by the <see cref="M:AppenderSkeleton.DoAppend(LoggingEvent)"/> method.
  8313. </summary>
  8314. <param name="loggingEvent">The event to log.</param>
  8315. <remarks>
  8316. <para>
  8317. Sends the event using an UDP datagram.
  8318. </para>
  8319. <para>
  8320. Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
  8321. </para>
  8322. </remarks>
  8323. </member>
  8324. <member name="P:log4net.Appender.UdpAppender.RequiresLayout">
  8325. <summary>
  8326. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  8327. </summary>
  8328. <value><c>true</c></value>
  8329. <remarks>
  8330. <para>
  8331. This appender requires a <see cref="N:log4net.Layout"/> to be set.
  8332. </para>
  8333. </remarks>
  8334. </member>
  8335. <member name="M:log4net.Appender.UdpAppender.OnClose">
  8336. <summary>
  8337. Closes the UDP connection and releases all resources associated with
  8338. this <see cref="T:log4net.Appender.UdpAppender" /> instance.
  8339. </summary>
  8340. <remarks>
  8341. <para>
  8342. Disables the underlying <see cref="T:System.Net.Sockets.UdpClient" /> and releases all managed
  8343. and unmanaged resources associated with the <see cref="T:log4net.Appender.UdpAppender" />.
  8344. </para>
  8345. </remarks>
  8346. </member>
  8347. <member name="M:log4net.Appender.UdpAppender.InitializeClientConnection">
  8348. <summary>
  8349. Initializes the underlying <see cref="T:System.Net.Sockets.UdpClient" /> connection.
  8350. </summary>
  8351. <remarks>
  8352. <para>
  8353. The underlying <see cref="T:System.Net.Sockets.UdpClient"/> is initialized and binds to the
  8354. port number from which you intend to communicate.
  8355. </para>
  8356. <para>
  8357. Exceptions are passed to the <see cref="P:log4net.Appender.AppenderSkeleton.ErrorHandler"/>.
  8358. </para>
  8359. </remarks>
  8360. </member>
  8361. <member name="F:log4net.Appender.UdpAppender.m_remoteAddress">
  8362. <summary>
  8363. The IP address of the remote host or multicast group to which
  8364. the logging event will be sent.
  8365. </summary>
  8366. </member>
  8367. <member name="F:log4net.Appender.UdpAppender.m_remotePort">
  8368. <summary>
  8369. The TCP port number of the remote host or multicast group to
  8370. which the logging event will be sent.
  8371. </summary>
  8372. </member>
  8373. <member name="F:log4net.Appender.UdpAppender.m_remoteEndPoint">
  8374. <summary>
  8375. The cached remote endpoint to which the logging events will be sent.
  8376. </summary>
  8377. </member>
  8378. <member name="F:log4net.Appender.UdpAppender.m_localPort">
  8379. <summary>
  8380. The TCP port number from which the <see cref="T:System.Net.Sockets.UdpClient" /> will communicate.
  8381. </summary>
  8382. </member>
  8383. <member name="F:log4net.Appender.UdpAppender.m_client">
  8384. <summary>
  8385. The <see cref="T:System.Net.Sockets.UdpClient" /> instance that will be used for sending the
  8386. logging events.
  8387. </summary>
  8388. </member>
  8389. <member name="F:log4net.Appender.UdpAppender.m_encoding">
  8390. <summary>
  8391. The encoding to use for the packet.
  8392. </summary>
  8393. </member>
  8394. <member name="T:log4net.Config.AliasDomainAttribute">
  8395. <summary>
  8396. Assembly level attribute that specifies a domain to alias to this assembly's repository.
  8397. </summary>
  8398. <remarks>
  8399. <para>
  8400. <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
  8401. </para>
  8402. <para>
  8403. An assembly's logger repository is defined by its <see cref="T:log4net.Config.DomainAttribute"/>,
  8404. however this can be overridden by an assembly loaded before the target assembly.
  8405. </para>
  8406. <para>
  8407. An assembly can alias another assembly's domain to its repository by
  8408. specifying this attribute with the name of the target domain.
  8409. </para>
  8410. <para>
  8411. This attribute can only be specified on the assembly and may be used
  8412. as many times as necessary to alias all the required domains.
  8413. </para>
  8414. </remarks>
  8415. <author>Nicko Cadell</author>
  8416. <author>Gert Driesen</author>
  8417. </member>
  8418. <member name="M:log4net.Config.AliasDomainAttribute.#ctor(System.String)">
  8419. <summary>
  8420. Initializes a new instance of the <see cref="T:log4net.Config.AliasDomainAttribute" /> class with
  8421. the specified domain to alias to this assembly's repository.
  8422. </summary>
  8423. <param name="name">The domain to alias to this assemby's repository.</param>
  8424. <remarks>
  8425. <para>
  8426. Obsolete. Use <see cref="T:log4net.Config.AliasRepositoryAttribute"/> instead of <see cref="T:log4net.Config.AliasDomainAttribute"/>.
  8427. </para>
  8428. </remarks>
  8429. </member>
  8430. <member name="T:log4net.Config.AliasRepositoryAttribute">
  8431. <summary>
  8432. Assembly level attribute that specifies a repository to alias to this assembly's repository.
  8433. </summary>
  8434. <remarks>
  8435. <para>
  8436. An assembly's logger repository is defined by its <see cref="T:log4net.Config.RepositoryAttribute"/>,
  8437. however this can be overridden by an assembly loaded before the target assembly.
  8438. </para>
  8439. <para>
  8440. An assembly can alias another assembly's repository to its repository by
  8441. specifying this attribute with the name of the target repository.
  8442. </para>
  8443. <para>
  8444. This attribute can only be specified on the assembly and may be used
  8445. as many times as necessary to alias all the required repositories.
  8446. </para>
  8447. </remarks>
  8448. <author>Nicko Cadell</author>
  8449. <author>Gert Driesen</author>
  8450. </member>
  8451. <member name="M:log4net.Config.AliasRepositoryAttribute.#ctor(System.String)">
  8452. <summary>
  8453. Initializes a new instance of the <see cref="T:log4net.Config.AliasRepositoryAttribute" /> class with
  8454. the specified repository to alias to this assembly's repository.
  8455. </summary>
  8456. <param name="name">The repository to alias to this assemby's repository.</param>
  8457. <remarks>
  8458. <para>
  8459. Initializes a new instance of the <see cref="T:log4net.Config.AliasRepositoryAttribute" /> class with
  8460. the specified repository to alias to this assembly's repository.
  8461. </para>
  8462. </remarks>
  8463. </member>
  8464. <member name="P:log4net.Config.AliasRepositoryAttribute.Name">
  8465. <summary>
  8466. Gets or sets the repository to alias to this assemby's repository.
  8467. </summary>
  8468. <value>
  8469. The repository to alias to this assemby's repository.
  8470. </value>
  8471. <remarks>
  8472. <para>
  8473. The name of the repository to alias to this assemby's repository.
  8474. </para>
  8475. </remarks>
  8476. </member>
  8477. <member name="T:log4net.Config.BasicConfigurator">
  8478. <summary>
  8479. Use this class to quickly configure a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
  8480. </summary>
  8481. <remarks>
  8482. <para>
  8483. Allows very simple programmatic configuration of log4net.
  8484. </para>
  8485. <para>
  8486. Only one appender can be configured using this configurator.
  8487. The appender is set at the root of the hierarchy and all logging
  8488. events will be delivered to that appender.
  8489. </para>
  8490. <para>
  8491. Appenders can also implement the <see cref="T:log4net.Core.IOptionHandler"/> interface. Therefore
  8492. they would require that the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions()"/> method
  8493. be called after the appenders properties have been configured.
  8494. </para>
  8495. </remarks>
  8496. <author>Nicko Cadell</author>
  8497. <author>Gert Driesen</author>
  8498. </member>
  8499. <member name="F:log4net.Config.BasicConfigurator.declaringType">
  8500. <summary>
  8501. The fully qualified type of the BasicConfigurator class.
  8502. </summary>
  8503. <remarks>
  8504. Used by the internal logger to record the Type of the
  8505. log message.
  8506. </remarks>
  8507. </member>
  8508. <member name="M:log4net.Config.BasicConfigurator.#ctor">
  8509. <summary>
  8510. Initializes a new instance of the <see cref="T:log4net.Config.BasicConfigurator" /> class.
  8511. </summary>
  8512. <remarks>
  8513. <para>
  8514. Uses a private access modifier to prevent instantiation of this class.
  8515. </para>
  8516. </remarks>
  8517. </member>
  8518. <member name="M:log4net.Config.BasicConfigurator.Configure">
  8519. <summary>
  8520. Initializes the log4net system with a default configuration.
  8521. </summary>
  8522. <remarks>
  8523. <para>
  8524. Initializes the log4net logging system using a <see cref="T:log4net.Appender.ConsoleAppender"/>
  8525. that will write to <c>Console.Out</c>. The log messages are
  8526. formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
  8527. with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern"/>
  8528. layout style.
  8529. </para>
  8530. </remarks>
  8531. </member>
  8532. <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender[])">
  8533. <summary>
  8534. Initializes the log4net system using the specified appenders.
  8535. </summary>
  8536. <param name="appenders">The appenders to use to log all logging events.</param>
  8537. <remarks>
  8538. <para>
  8539. Initializes the log4net system using the specified appenders.
  8540. </para>
  8541. </remarks>
  8542. </member>
  8543. <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Appender.IAppender)">
  8544. <summary>
  8545. Initializes the log4net system using the specified appender.
  8546. </summary>
  8547. <param name="appender">The appender to use to log all logging events.</param>
  8548. <remarks>
  8549. <para>
  8550. Initializes the log4net system using the specified appender.
  8551. </para>
  8552. </remarks>
  8553. </member>
  8554. <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository)">
  8555. <summary>
  8556. Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> with a default configuration.
  8557. </summary>
  8558. <param name="repository">The repository to configure.</param>
  8559. <remarks>
  8560. <para>
  8561. Initializes the specified repository using a <see cref="T:log4net.Appender.ConsoleAppender"/>
  8562. that will write to <c>Console.Out</c>. The log messages are
  8563. formatted using the <see cref="T:log4net.Layout.PatternLayout"/> layout object
  8564. with the <see cref="F:log4net.Layout.PatternLayout.DetailConversionPattern"/>
  8565. layout style.
  8566. </para>
  8567. </remarks>
  8568. </member>
  8569. <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender)">
  8570. <summary>
  8571. Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
  8572. </summary>
  8573. <param name="repository">The repository to configure.</param>
  8574. <param name="appender">The appender to use to log all logging events.</param>
  8575. <remarks>
  8576. <para>
  8577. Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
  8578. </para>
  8579. </remarks>
  8580. </member>
  8581. <member name="M:log4net.Config.BasicConfigurator.Configure(log4net.Repository.ILoggerRepository,log4net.Appender.IAppender[])">
  8582. <summary>
  8583. Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appenders.
  8584. </summary>
  8585. <param name="repository">The repository to configure.</param>
  8586. <param name="appenders">The appenders to use to log all logging events.</param>
  8587. <remarks>
  8588. <para>
  8589. Initializes the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified appender.
  8590. </para>
  8591. </remarks>
  8592. </member>
  8593. <member name="T:log4net.Config.ConfiguratorAttribute">
  8594. <summary>
  8595. Base class for all log4net configuration attributes.
  8596. </summary>
  8597. <remarks>
  8598. This is an abstract class that must be extended by
  8599. specific configurators. This attribute allows the
  8600. configurator to be parameterized by an assembly level
  8601. attribute.
  8602. </remarks>
  8603. <author>Nicko Cadell</author>
  8604. <author>Gert Driesen</author>
  8605. </member>
  8606. <member name="M:log4net.Config.ConfiguratorAttribute.#ctor(System.Int32)">
  8607. <summary>
  8608. Constructor used by subclasses.
  8609. </summary>
  8610. <param name="priority">the ordering priority for this configurator</param>
  8611. <remarks>
  8612. <para>
  8613. The <paramref name="priority"/> is used to order the configurator
  8614. attributes before they are invoked. Higher priority configurators are executed
  8615. before lower priority ones.
  8616. </para>
  8617. </remarks>
  8618. </member>
  8619. <member name="M:log4net.Config.ConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
  8620. <summary>
  8621. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
  8622. </summary>
  8623. <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
  8624. <param name="targetRepository">The repository to configure.</param>
  8625. <remarks>
  8626. <para>
  8627. Abstract method implemented by a subclass. When this method is called
  8628. the subclass should configure the <paramref name="targetRepository"/>.
  8629. </para>
  8630. </remarks>
  8631. </member>
  8632. <member name="M:log4net.Config.ConfiguratorAttribute.CompareTo(System.Object)">
  8633. <summary>
  8634. Compare this instance to another ConfiguratorAttribute
  8635. </summary>
  8636. <param name="obj">the object to compare to</param>
  8637. <returns>see <see cref="M:System.IComparable.CompareTo(System.Object)"/></returns>
  8638. <remarks>
  8639. <para>
  8640. Compares the priorities of the two <see cref="T:log4net.Config.ConfiguratorAttribute"/> instances.
  8641. Sorts by priority in descending order. Objects with the same priority are
  8642. randomly ordered.
  8643. </para>
  8644. </remarks>
  8645. </member>
  8646. <member name="T:log4net.Config.DomainAttribute">
  8647. <summary>
  8648. Assembly level attribute that specifies the logging domain for the assembly.
  8649. </summary>
  8650. <remarks>
  8651. <para>
  8652. <b>DomainAttribute is obsolete. Use RepositoryAttribute instead of DomainAttribute.</b>
  8653. </para>
  8654. <para>
  8655. Assemblies are mapped to logging domains. Each domain has its own
  8656. logging repository. This attribute specified on the assembly controls
  8657. the configuration of the domain. The <see cref="P:log4net.Config.RepositoryAttribute.Name"/> property specifies the name
  8658. of the domain that this assembly is a part of. The <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType"/>
  8659. specifies the type of the repository objects to create for the domain. If
  8660. this attribute is not specified and a <see cref="P:log4net.Config.RepositoryAttribute.Name"/> is not specified
  8661. then the assembly will be part of the default shared logging domain.
  8662. </para>
  8663. <para>
  8664. This attribute can only be specified on the assembly and may only be used
  8665. once per assembly.
  8666. </para>
  8667. </remarks>
  8668. <author>Nicko Cadell</author>
  8669. <author>Gert Driesen</author>
  8670. </member>
  8671. <member name="M:log4net.Config.DomainAttribute.#ctor">
  8672. <summary>
  8673. Initializes a new instance of the <see cref="T:log4net.Config.DomainAttribute" /> class.
  8674. </summary>
  8675. <remarks>
  8676. <para>
  8677. Obsolete. Use RepositoryAttribute instead of DomainAttribute.
  8678. </para>
  8679. </remarks>
  8680. </member>
  8681. <member name="M:log4net.Config.DomainAttribute.#ctor(System.String)">
  8682. <summary>
  8683. Initialize a new instance of the <see cref="T:log4net.Config.DomainAttribute" /> class
  8684. with the name of the domain.
  8685. </summary>
  8686. <param name="name">The name of the domain.</param>
  8687. <remarks>
  8688. <para>
  8689. Obsolete. Use RepositoryAttribute instead of DomainAttribute.
  8690. </para>
  8691. </remarks>
  8692. </member>
  8693. <member name="T:log4net.Config.DOMConfigurator">
  8694. <summary>
  8695. Use this class to initialize the log4net environment using an Xml tree.
  8696. </summary>
  8697. <remarks>
  8698. <para>
  8699. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8700. </para>
  8701. <para>
  8702. Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an Xml tree.
  8703. </para>
  8704. </remarks>
  8705. <author>Nicko Cadell</author>
  8706. <author>Gert Driesen</author>
  8707. </member>
  8708. <member name="M:log4net.Config.DOMConfigurator.#ctor">
  8709. <summary>
  8710. Private constructor
  8711. </summary>
  8712. </member>
  8713. <member name="M:log4net.Config.DOMConfigurator.Configure">
  8714. <summary>
  8715. Automatically configures the log4net system based on the
  8716. application's configuration settings.
  8717. </summary>
  8718. <remarks>
  8719. <para>
  8720. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8721. </para>
  8722. Each application has a configuration file. This has the
  8723. same name as the application with '.config' appended.
  8724. This file is XML and calling this function prompts the
  8725. configurator to look in that file for a section called
  8726. <c>log4net</c> that contains the configuration data.
  8727. </remarks>
  8728. </member>
  8729. <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository)">
  8730. <summary>
  8731. Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
  8732. stored in the application's configuration file.
  8733. </summary>
  8734. <remarks>
  8735. <para>
  8736. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8737. </para>
  8738. Each application has a configuration file. This has the
  8739. same name as the application with '.config' appended.
  8740. This file is XML and calling this function prompts the
  8741. configurator to look in that file for a section called
  8742. <c>log4net</c> that contains the configuration data.
  8743. </remarks>
  8744. <param name="repository">The repository to configure.</param>
  8745. </member>
  8746. <member name="M:log4net.Config.DOMConfigurator.Configure(System.Xml.XmlElement)">
  8747. <summary>
  8748. Configures log4net using a <c>log4net</c> element
  8749. </summary>
  8750. <remarks>
  8751. <para>
  8752. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8753. </para>
  8754. Loads the log4net configuration from the XML element
  8755. supplied as <paramref name="element"/>.
  8756. </remarks>
  8757. <param name="element">The element to parse.</param>
  8758. </member>
  8759. <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
  8760. <summary>
  8761. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML
  8762. element.
  8763. </summary>
  8764. <remarks>
  8765. <para>
  8766. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8767. </para>
  8768. Loads the log4net configuration from the XML element
  8769. supplied as <paramref name="element"/>.
  8770. </remarks>
  8771. <param name="repository">The repository to configure.</param>
  8772. <param name="element">The element to parse.</param>
  8773. </member>
  8774. <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.FileInfo)">
  8775. <summary>
  8776. Configures log4net using the specified configuration file.
  8777. </summary>
  8778. <param name="configFile">The XML file to load the configuration from.</param>
  8779. <remarks>
  8780. <para>
  8781. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8782. </para>
  8783. <para>
  8784. The configuration file must be valid XML. It must contain
  8785. at least one element called <c>log4net</c> that holds
  8786. the log4net configuration data.
  8787. </para>
  8788. <para>
  8789. The log4net configuration file can possible be specified in the application's
  8790. configuration file (either <c>MyAppName.exe.config</c> for a
  8791. normal application on <c>Web.config</c> for an ASP.NET application).
  8792. </para>
  8793. <example>
  8794. The following example configures log4net using a configuration file, of which the
  8795. location is stored in the application's configuration file :
  8796. </example>
  8797. <code lang="C#">
  8798. using log4net.Config;
  8799. using System.IO;
  8800. using System.Configuration;
  8801. ...
  8802. DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
  8803. </code>
  8804. <para>
  8805. In the <c>.config</c> file, the path to the log4net can be specified like this :
  8806. </para>
  8807. <code lang="XML" escaped="true">
  8808. <configuration>
  8809. <appSettings>
  8810. <add key="log4net-config-file" value="log.config"/>
  8811. </appSettings>
  8812. </configuration>
  8813. </code>
  8814. </remarks>
  8815. </member>
  8816. <member name="M:log4net.Config.DOMConfigurator.Configure(System.IO.Stream)">
  8817. <summary>
  8818. Configures log4net using the specified configuration file.
  8819. </summary>
  8820. <param name="configStream">A stream to load the XML configuration from.</param>
  8821. <remarks>
  8822. <para>
  8823. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8824. </para>
  8825. <para>
  8826. The configuration data must be valid XML. It must contain
  8827. at least one element called <c>log4net</c> that holds
  8828. the log4net configuration data.
  8829. </para>
  8830. <para>
  8831. Note that this method will NOT close the stream parameter.
  8832. </para>
  8833. </remarks>
  8834. </member>
  8835. <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
  8836. <summary>
  8837. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
  8838. file.
  8839. </summary>
  8840. <param name="repository">The repository to configure.</param>
  8841. <param name="configFile">The XML file to load the configuration from.</param>
  8842. <remarks>
  8843. <para>
  8844. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8845. </para>
  8846. <para>
  8847. The configuration file must be valid XML. It must contain
  8848. at least one element called <c>log4net</c> that holds
  8849. the configuration data.
  8850. </para>
  8851. <para>
  8852. The log4net configuration file can possible be specified in the application's
  8853. configuration file (either <c>MyAppName.exe.config</c> for a
  8854. normal application on <c>Web.config</c> for an ASP.NET application).
  8855. </para>
  8856. <example>
  8857. The following example configures log4net using a configuration file, of which the
  8858. location is stored in the application's configuration file :
  8859. </example>
  8860. <code lang="C#">
  8861. using log4net.Config;
  8862. using System.IO;
  8863. using System.Configuration;
  8864. ...
  8865. DOMConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
  8866. </code>
  8867. <para>
  8868. In the <c>.config</c> file, the path to the log4net can be specified like this :
  8869. </para>
  8870. <code lang="XML" escaped="true">
  8871. <configuration>
  8872. <appSettings>
  8873. <add key="log4net-config-file" value="log.config"/>
  8874. </appSettings>
  8875. </configuration>
  8876. </code>
  8877. </remarks>
  8878. </member>
  8879. <member name="M:log4net.Config.DOMConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
  8880. <summary>
  8881. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
  8882. file.
  8883. </summary>
  8884. <param name="repository">The repository to configure.</param>
  8885. <param name="configStream">The stream to load the XML configuration from.</param>
  8886. <remarks>
  8887. <para>
  8888. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8889. </para>
  8890. <para>
  8891. The configuration data must be valid XML. It must contain
  8892. at least one element called <c>log4net</c> that holds
  8893. the configuration data.
  8894. </para>
  8895. <para>
  8896. Note that this method will NOT close the stream parameter.
  8897. </para>
  8898. </remarks>
  8899. </member>
  8900. <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
  8901. <summary>
  8902. Configures log4net using the file specified, monitors the file for changes
  8903. and reloads the configuration if a change is detected.
  8904. </summary>
  8905. <param name="configFile">The XML file to load the configuration from.</param>
  8906. <remarks>
  8907. <para>
  8908. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8909. </para>
  8910. <para>
  8911. The configuration file must be valid XML. It must contain
  8912. at least one element called <c>log4net</c> that holds
  8913. the configuration data.
  8914. </para>
  8915. <para>
  8916. The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
  8917. and depends on the behavior of that class.
  8918. </para>
  8919. <para>
  8920. For more information on how to configure log4net using
  8921. a separate configuration file, see <see cref="M:Configure(FileInfo)"/>.
  8922. </para>
  8923. </remarks>
  8924. <seealso cref="M:Configure(FileInfo)"/>
  8925. </member>
  8926. <member name="M:log4net.Config.DOMConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
  8927. <summary>
  8928. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the file specified,
  8929. monitors the file for changes and reloads the configuration if a change
  8930. is detected.
  8931. </summary>
  8932. <param name="repository">The repository to configure.</param>
  8933. <param name="configFile">The XML file to load the configuration from.</param>
  8934. <remarks>
  8935. <para>
  8936. <b>DOMConfigurator is obsolete. Use XmlConfigurator instead of DOMConfigurator.</b>
  8937. </para>
  8938. <para>
  8939. The configuration file must be valid XML. It must contain
  8940. at least one element called <c>log4net</c> that holds
  8941. the configuration data.
  8942. </para>
  8943. <para>
  8944. The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
  8945. and depends on the behavior of that class.
  8946. </para>
  8947. <para>
  8948. For more information on how to configure log4net using
  8949. a separate configuration file, see <see cref="M:Configure(FileInfo)"/>.
  8950. </para>
  8951. </remarks>
  8952. <seealso cref="M:Configure(FileInfo)"/>
  8953. </member>
  8954. <member name="T:log4net.Config.DOMConfiguratorAttribute">
  8955. <summary>
  8956. Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
  8957. </summary>
  8958. <remarks>
  8959. <para>
  8960. <b>AliasDomainAttribute is obsolete. Use AliasRepositoryAttribute instead of AliasDomainAttribute.</b>
  8961. </para>
  8962. <para>
  8963. This attribute may only be used at the assembly scope and can only
  8964. be used once per assembly.
  8965. </para>
  8966. <para>
  8967. Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
  8968. without calling one of the <see cref="M:XmlConfigurator.Configure()"/>
  8969. methods.
  8970. </para>
  8971. </remarks>
  8972. <author>Nicko Cadell</author>
  8973. <author>Gert Driesen</author>
  8974. </member>
  8975. <member name="T:log4net.Config.Log4NetConfigurationSectionHandler">
  8976. <summary>
  8977. Class to register for the log4net section of the configuration file
  8978. </summary>
  8979. <remarks>
  8980. The log4net section of the configuration file needs to have a section
  8981. handler registered. This is the section handler used. It simply returns
  8982. the XML element that is the root of the section.
  8983. </remarks>
  8984. <example>
  8985. Example of registering the log4net section handler :
  8986. <code lang="XML" escaped="true">
  8987. <configuration>
  8988. <configSections>
  8989. <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  8990. </configSections>
  8991. <log4net>
  8992. log4net configuration XML goes here
  8993. </log4net>
  8994. </configuration>
  8995. </code>
  8996. </example>
  8997. <author>Nicko Cadell</author>
  8998. <author>Gert Driesen</author>
  8999. </member>
  9000. <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.#ctor">
  9001. <summary>
  9002. Initializes a new instance of the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> class.
  9003. </summary>
  9004. <remarks>
  9005. <para>
  9006. Default constructor.
  9007. </para>
  9008. </remarks>
  9009. </member>
  9010. <member name="M:log4net.Config.Log4NetConfigurationSectionHandler.Create(System.Object,System.Object,System.Xml.XmlNode)">
  9011. <summary>
  9012. Parses the configuration section.
  9013. </summary>
  9014. <param name="parent">The configuration settings in a corresponding parent configuration section.</param>
  9015. <param name="configContext">The configuration context when called from the ASP.NET configuration system. Otherwise, this parameter is reserved and is a null reference.</param>
  9016. <param name="section">The <see cref="T:System.Xml.XmlNode" /> for the log4net section.</param>
  9017. <returns>The <see cref="T:System.Xml.XmlNode" /> for the log4net section.</returns>
  9018. <remarks>
  9019. <para>
  9020. Returns the <see cref="T:System.Xml.XmlNode"/> containing the configuration data,
  9021. </para>
  9022. </remarks>
  9023. </member>
  9024. <member name="T:log4net.Config.PluginAttribute">
  9025. <summary>
  9026. Assembly level attribute that specifies a plugin to attach to
  9027. the repository.
  9028. </summary>
  9029. <remarks>
  9030. <para>
  9031. Specifies the type of a plugin to create and attach to the
  9032. assembly's repository. The plugin type must implement the
  9033. <see cref="T:log4net.Plugin.IPlugin"/> interface.
  9034. </para>
  9035. </remarks>
  9036. <author>Nicko Cadell</author>
  9037. <author>Gert Driesen</author>
  9038. </member>
  9039. <member name="M:log4net.Config.PluginAttribute.#ctor(System.String)">
  9040. <summary>
  9041. Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute" /> class
  9042. with the specified type.
  9043. </summary>
  9044. <param name="typeName">The type name of plugin to create.</param>
  9045. <remarks>
  9046. <para>
  9047. Create the attribute with the plugin type specified.
  9048. </para>
  9049. <para>
  9050. Where possible use the constructor that takes a <see cref="T:System.Type"/>.
  9051. </para>
  9052. </remarks>
  9053. </member>
  9054. <member name="M:log4net.Config.PluginAttribute.#ctor(System.Type)">
  9055. <summary>
  9056. Initializes a new instance of the <see cref="T:log4net.Config.PluginAttribute" /> class
  9057. with the specified type.
  9058. </summary>
  9059. <param name="type">The type of plugin to create.</param>
  9060. <remarks>
  9061. <para>
  9062. Create the attribute with the plugin type specified.
  9063. </para>
  9064. </remarks>
  9065. </member>
  9066. <member name="P:log4net.Config.PluginAttribute.Type">
  9067. <summary>
  9068. Gets or sets the type for the plugin.
  9069. </summary>
  9070. <value>
  9071. The type for the plugin.
  9072. </value>
  9073. <remarks>
  9074. <para>
  9075. The type for the plugin.
  9076. </para>
  9077. </remarks>
  9078. </member>
  9079. <member name="P:log4net.Config.PluginAttribute.TypeName">
  9080. <summary>
  9081. Gets or sets the type name for the plugin.
  9082. </summary>
  9083. <value>
  9084. The type name for the plugin.
  9085. </value>
  9086. <remarks>
  9087. <para>
  9088. The type name for the plugin.
  9089. </para>
  9090. <para>
  9091. Where possible use the <see cref="P:log4net.Config.PluginAttribute.Type"/> property instead.
  9092. </para>
  9093. </remarks>
  9094. </member>
  9095. <member name="M:log4net.Config.PluginAttribute.CreatePlugin">
  9096. <summary>
  9097. Creates the plugin object defined by this attribute.
  9098. </summary>
  9099. <remarks>
  9100. <para>
  9101. Creates the instance of the <see cref="T:log4net.Plugin.IPlugin"/> object as
  9102. specified by this attribute.
  9103. </para>
  9104. </remarks>
  9105. <returns>The plugin object.</returns>
  9106. </member>
  9107. <member name="M:log4net.Config.PluginAttribute.ToString">
  9108. <summary>
  9109. Returns a representation of the properties of this object.
  9110. </summary>
  9111. <remarks>
  9112. <para>
  9113. Overrides base class <see cref="M:Object.ToString()" /> method to
  9114. return a representation of the properties of this object.
  9115. </para>
  9116. </remarks>
  9117. <returns>A representation of the properties of this object</returns>
  9118. </member>
  9119. <member name="T:log4net.Config.RepositoryAttribute">
  9120. <summary>
  9121. Assembly level attribute that specifies the logging repository for the assembly.
  9122. </summary>
  9123. <remarks>
  9124. <para>
  9125. Assemblies are mapped to logging repository. This attribute specified
  9126. on the assembly controls
  9127. the configuration of the repository. The <see cref="P:log4net.Config.RepositoryAttribute.Name"/> property specifies the name
  9128. of the repository that this assembly is a part of. The <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType"/>
  9129. specifies the type of the <see cref="T:log4net.Repository.ILoggerRepository"/> object
  9130. to create for the assembly. If this attribute is not specified or a <see cref="P:log4net.Config.RepositoryAttribute.Name"/>
  9131. is not specified then the assembly will be part of the default shared logging repository.
  9132. </para>
  9133. <para>
  9134. This attribute can only be specified on the assembly and may only be used
  9135. once per assembly.
  9136. </para>
  9137. </remarks>
  9138. <author>Nicko Cadell</author>
  9139. <author>Gert Driesen</author>
  9140. </member>
  9141. <member name="M:log4net.Config.RepositoryAttribute.#ctor">
  9142. <summary>
  9143. Initializes a new instance of the <see cref="T:log4net.Config.RepositoryAttribute" /> class.
  9144. </summary>
  9145. <remarks>
  9146. <para>
  9147. Default constructor.
  9148. </para>
  9149. </remarks>
  9150. </member>
  9151. <member name="M:log4net.Config.RepositoryAttribute.#ctor(System.String)">
  9152. <summary>
  9153. Initialize a new instance of the <see cref="T:log4net.Config.RepositoryAttribute" /> class
  9154. with the name of the repository.
  9155. </summary>
  9156. <param name="name">The name of the repository.</param>
  9157. <remarks>
  9158. <para>
  9159. Initialize the attribute with the name for the assembly's repository.
  9160. </para>
  9161. </remarks>
  9162. </member>
  9163. <member name="P:log4net.Config.RepositoryAttribute.Name">
  9164. <summary>
  9165. Gets or sets the name of the logging repository.
  9166. </summary>
  9167. <value>
  9168. The string name to use as the name of the repository associated with this
  9169. assembly.
  9170. </value>
  9171. <remarks>
  9172. <para>
  9173. This value does not have to be unique. Several assemblies can share the
  9174. same repository. They will share the logging configuration of the repository.
  9175. </para>
  9176. </remarks>
  9177. </member>
  9178. <member name="P:log4net.Config.RepositoryAttribute.RepositoryType">
  9179. <summary>
  9180. Gets or sets the type of repository to create for this assembly.
  9181. </summary>
  9182. <value>
  9183. The type of repository to create for this assembly.
  9184. </value>
  9185. <remarks>
  9186. <para>
  9187. The type of the repository to create for the assembly.
  9188. The type must implement the <see cref="T:log4net.Repository.ILoggerRepository"/>
  9189. interface.
  9190. </para>
  9191. <para>
  9192. This will be the type of repository created when
  9193. the repository is created. If multiple assemblies reference the
  9194. same repository then the repository is only created once using the
  9195. <see cref="P:log4net.Config.RepositoryAttribute.RepositoryType" /> of the first assembly to call into the
  9196. repository.
  9197. </para>
  9198. </remarks>
  9199. </member>
  9200. <member name="T:log4net.Config.SecurityContextProviderAttribute">
  9201. <summary>
  9202. Assembly level attribute to configure the <see cref="T:log4net.Core.SecurityContextProvider"/>.
  9203. </summary>
  9204. <remarks>
  9205. <para>
  9206. This attribute may only be used at the assembly scope and can only
  9207. be used once per assembly.
  9208. </para>
  9209. <para>
  9210. Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
  9211. without calling one of the <see cref="M:XmlConfigurator.Configure()"/>
  9212. methods.
  9213. </para>
  9214. </remarks>
  9215. <author>Nicko Cadell</author>
  9216. </member>
  9217. <member name="M:log4net.Config.SecurityContextProviderAttribute.#ctor(System.Type)">
  9218. <summary>
  9219. Construct provider attribute with type specified
  9220. </summary>
  9221. <param name="providerType">the type of the provider to use</param>
  9222. <remarks>
  9223. <para>
  9224. The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
  9225. class.
  9226. </para>
  9227. </remarks>
  9228. </member>
  9229. <member name="P:log4net.Config.SecurityContextProviderAttribute.ProviderType">
  9230. <summary>
  9231. Gets or sets the type of the provider to use.
  9232. </summary>
  9233. <value>
  9234. the type of the provider to use.
  9235. </value>
  9236. <remarks>
  9237. <para>
  9238. The provider specified must subclass the <see cref="T:log4net.Core.SecurityContextProvider"/>
  9239. class.
  9240. </para>
  9241. </remarks>
  9242. </member>
  9243. <member name="M:log4net.Config.SecurityContextProviderAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
  9244. <summary>
  9245. Configures the SecurityContextProvider
  9246. </summary>
  9247. <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
  9248. <param name="targetRepository">The repository to configure.</param>
  9249. <remarks>
  9250. <para>
  9251. Creates a provider instance from the <see cref="P:log4net.Config.SecurityContextProviderAttribute.ProviderType"/> specified.
  9252. Sets this as the default security context provider <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/>.
  9253. </para>
  9254. </remarks>
  9255. </member>
  9256. <member name="F:log4net.Config.SecurityContextProviderAttribute.declaringType">
  9257. <summary>
  9258. The fully qualified type of the SecurityContextProviderAttribute class.
  9259. </summary>
  9260. <remarks>
  9261. Used by the internal logger to record the Type of the
  9262. log message.
  9263. </remarks>
  9264. </member>
  9265. <member name="T:log4net.Config.XmlConfigurator">
  9266. <summary>
  9267. Use this class to initialize the log4net environment using an Xml tree.
  9268. </summary>
  9269. <remarks>
  9270. <para>
  9271. Configures a <see cref="T:log4net.Repository.ILoggerRepository"/> using an Xml tree.
  9272. </para>
  9273. </remarks>
  9274. <author>Nicko Cadell</author>
  9275. <author>Gert Driesen</author>
  9276. </member>
  9277. <member name="M:log4net.Config.XmlConfigurator.#ctor">
  9278. <summary>
  9279. Private constructor
  9280. </summary>
  9281. </member>
  9282. <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository)">
  9283. <summary>
  9284. Automatically configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using settings
  9285. stored in the application's configuration file.
  9286. </summary>
  9287. <remarks>
  9288. <para>
  9289. Each application has a configuration file. This has the
  9290. same name as the application with '.config' appended.
  9291. This file is XML and calling this function prompts the
  9292. configurator to look in that file for a section called
  9293. <c>log4net</c> that contains the configuration data.
  9294. </para>
  9295. <para>
  9296. To use this method to configure log4net you must specify
  9297. the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> section
  9298. handler for the <c>log4net</c> configuration section. See the
  9299. <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> for an example.
  9300. </para>
  9301. </remarks>
  9302. <param name="repository">The repository to configure.</param>
  9303. </member>
  9304. <member name="M:log4net.Config.XmlConfigurator.Configure">
  9305. <summary>
  9306. Automatically configures the log4net system based on the
  9307. application's configuration settings.
  9308. </summary>
  9309. <remarks>
  9310. <para>
  9311. Each application has a configuration file. This has the
  9312. same name as the application with '.config' appended.
  9313. This file is XML and calling this function prompts the
  9314. configurator to look in that file for a section called
  9315. <c>log4net</c> that contains the configuration data.
  9316. </para>
  9317. <para>
  9318. To use this method to configure log4net you must specify
  9319. the <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> section
  9320. handler for the <c>log4net</c> configuration section. See the
  9321. <see cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/> for an example.
  9322. </para>
  9323. </remarks>
  9324. <seealso cref="T:log4net.Config.Log4NetConfigurationSectionHandler"/>
  9325. </member>
  9326. <member name="M:log4net.Config.XmlConfigurator.Configure(System.Xml.XmlElement)">
  9327. <summary>
  9328. Configures log4net using a <c>log4net</c> element
  9329. </summary>
  9330. <remarks>
  9331. <para>
  9332. Loads the log4net configuration from the XML element
  9333. supplied as <paramref name="element"/>.
  9334. </para>
  9335. </remarks>
  9336. <param name="element">The element to parse.</param>
  9337. </member>
  9338. <member name="M:log4net.Config.XmlConfigurator.Configure(System.IO.FileInfo)">
  9339. <summary>
  9340. Configures log4net using the specified configuration file.
  9341. </summary>
  9342. <param name="configFile">The XML file to load the configuration from.</param>
  9343. <remarks>
  9344. <para>
  9345. The configuration file must be valid XML. It must contain
  9346. at least one element called <c>log4net</c> that holds
  9347. the log4net configuration data.
  9348. </para>
  9349. <para>
  9350. The log4net configuration file can possible be specified in the application's
  9351. configuration file (either <c>MyAppName.exe.config</c> for a
  9352. normal application on <c>Web.config</c> for an ASP.NET application).
  9353. </para>
  9354. <para>
  9355. The first element matching <c>&lt;configuration&gt;</c> will be read as the
  9356. configuration. If this file is also a .NET .config file then you must specify
  9357. a configuration section for the <c>log4net</c> element otherwise .NET will
  9358. complain. Set the type for the section handler to <see cref="T:System.Configuration.IgnoreSectionHandler"/>, for example:
  9359. <code lang="XML" escaped="true">
  9360. <configSections>
  9361. <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
  9362. </configSections>
  9363. </code>
  9364. </para>
  9365. <example>
  9366. The following example configures log4net using a configuration file, of which the
  9367. location is stored in the application's configuration file :
  9368. </example>
  9369. <code lang="C#">
  9370. using log4net.Config;
  9371. using System.IO;
  9372. using System.Configuration;
  9373. ...
  9374. XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
  9375. </code>
  9376. <para>
  9377. In the <c>.config</c> file, the path to the log4net can be specified like this :
  9378. </para>
  9379. <code lang="XML" escaped="true">
  9380. <configuration>
  9381. <appSettings>
  9382. <add key="log4net-config-file" value="log.config"/>
  9383. </appSettings>
  9384. </configuration>
  9385. </code>
  9386. </remarks>
  9387. </member>
  9388. <member name="M:log4net.Config.XmlConfigurator.Configure(System.Uri)">
  9389. <summary>
  9390. Configures log4net using the specified configuration URI.
  9391. </summary>
  9392. <param name="configUri">A URI to load the XML configuration from.</param>
  9393. <remarks>
  9394. <para>
  9395. The configuration data must be valid XML. It must contain
  9396. at least one element called <c>log4net</c> that holds
  9397. the log4net configuration data.
  9398. </para>
  9399. <para>
  9400. The <see cref="T:System.Net.WebRequest"/> must support the URI scheme specified.
  9401. </para>
  9402. </remarks>
  9403. </member>
  9404. <member name="M:log4net.Config.XmlConfigurator.Configure(System.IO.Stream)">
  9405. <summary>
  9406. Configures log4net using the specified configuration data stream.
  9407. </summary>
  9408. <param name="configStream">A stream to load the XML configuration from.</param>
  9409. <remarks>
  9410. <para>
  9411. The configuration data must be valid XML. It must contain
  9412. at least one element called <c>log4net</c> that holds
  9413. the log4net configuration data.
  9414. </para>
  9415. <para>
  9416. Note that this method will NOT close the stream parameter.
  9417. </para>
  9418. </remarks>
  9419. </member>
  9420. <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
  9421. <summary>
  9422. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified XML
  9423. element.
  9424. </summary>
  9425. <remarks>
  9426. Loads the log4net configuration from the XML element
  9427. supplied as <paramref name="element"/>.
  9428. </remarks>
  9429. <param name="repository">The repository to configure.</param>
  9430. <param name="element">The element to parse.</param>
  9431. </member>
  9432. <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
  9433. <summary>
  9434. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
  9435. file.
  9436. </summary>
  9437. <param name="repository">The repository to configure.</param>
  9438. <param name="configFile">The XML file to load the configuration from.</param>
  9439. <remarks>
  9440. <para>
  9441. The configuration file must be valid XML. It must contain
  9442. at least one element called <c>log4net</c> that holds
  9443. the configuration data.
  9444. </para>
  9445. <para>
  9446. The log4net configuration file can possible be specified in the application's
  9447. configuration file (either <c>MyAppName.exe.config</c> for a
  9448. normal application on <c>Web.config</c> for an ASP.NET application).
  9449. </para>
  9450. <para>
  9451. The first element matching <c>&lt;configuration&gt;</c> will be read as the
  9452. configuration. If this file is also a .NET .config file then you must specify
  9453. a configuration section for the <c>log4net</c> element otherwise .NET will
  9454. complain. Set the type for the section handler to <see cref="T:System.Configuration.IgnoreSectionHandler"/>, for example:
  9455. <code lang="XML" escaped="true">
  9456. <configSections>
  9457. <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
  9458. </configSections>
  9459. </code>
  9460. </para>
  9461. <example>
  9462. The following example configures log4net using a configuration file, of which the
  9463. location is stored in the application's configuration file :
  9464. </example>
  9465. <code lang="C#">
  9466. using log4net.Config;
  9467. using System.IO;
  9468. using System.Configuration;
  9469. ...
  9470. XmlConfigurator.Configure(new FileInfo(ConfigurationSettings.AppSettings["log4net-config-file"]));
  9471. </code>
  9472. <para>
  9473. In the <c>.config</c> file, the path to the log4net can be specified like this :
  9474. </para>
  9475. <code lang="XML" escaped="true">
  9476. <configuration>
  9477. <appSettings>
  9478. <add key="log4net-config-file" value="log.config"/>
  9479. </appSettings>
  9480. </configuration>
  9481. </code>
  9482. </remarks>
  9483. </member>
  9484. <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.Uri)">
  9485. <summary>
  9486. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
  9487. URI.
  9488. </summary>
  9489. <param name="repository">The repository to configure.</param>
  9490. <param name="configUri">A URI to load the XML configuration from.</param>
  9491. <remarks>
  9492. <para>
  9493. The configuration data must be valid XML. It must contain
  9494. at least one element called <c>log4net</c> that holds
  9495. the configuration data.
  9496. </para>
  9497. <para>
  9498. The <see cref="T:System.Net.WebRequest"/> must support the URI scheme specified.
  9499. </para>
  9500. </remarks>
  9501. </member>
  9502. <member name="M:log4net.Config.XmlConfigurator.Configure(log4net.Repository.ILoggerRepository,System.IO.Stream)">
  9503. <summary>
  9504. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the specified configuration
  9505. file.
  9506. </summary>
  9507. <param name="repository">The repository to configure.</param>
  9508. <param name="configStream">The stream to load the XML configuration from.</param>
  9509. <remarks>
  9510. <para>
  9511. The configuration data must be valid XML. It must contain
  9512. at least one element called <c>log4net</c> that holds
  9513. the configuration data.
  9514. </para>
  9515. <para>
  9516. Note that this method will NOT close the stream parameter.
  9517. </para>
  9518. </remarks>
  9519. </member>
  9520. <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(System.IO.FileInfo)">
  9521. <summary>
  9522. Configures log4net using the file specified, monitors the file for changes
  9523. and reloads the configuration if a change is detected.
  9524. </summary>
  9525. <param name="configFile">The XML file to load the configuration from.</param>
  9526. <remarks>
  9527. <para>
  9528. The configuration file must be valid XML. It must contain
  9529. at least one element called <c>log4net</c> that holds
  9530. the configuration data.
  9531. </para>
  9532. <para>
  9533. The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
  9534. and depends on the behavior of that class.
  9535. </para>
  9536. <para>
  9537. For more information on how to configure log4net using
  9538. a separate configuration file, see <see cref="M:Configure(FileInfo)"/>.
  9539. </para>
  9540. </remarks>
  9541. <seealso cref="M:Configure(FileInfo)"/>
  9542. </member>
  9543. <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatch(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
  9544. <summary>
  9545. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> using the file specified,
  9546. monitors the file for changes and reloads the configuration if a change
  9547. is detected.
  9548. </summary>
  9549. <param name="repository">The repository to configure.</param>
  9550. <param name="configFile">The XML file to load the configuration from.</param>
  9551. <remarks>
  9552. <para>
  9553. The configuration file must be valid XML. It must contain
  9554. at least one element called <c>log4net</c> that holds
  9555. the configuration data.
  9556. </para>
  9557. <para>
  9558. The configuration file will be monitored using a <see cref="T:System.IO.FileSystemWatcher"/>
  9559. and depends on the behavior of that class.
  9560. </para>
  9561. <para>
  9562. For more information on how to configure log4net using
  9563. a separate configuration file, see <see cref="M:Configure(FileInfo)"/>.
  9564. </para>
  9565. </remarks>
  9566. <seealso cref="M:Configure(FileInfo)"/>
  9567. </member>
  9568. <member name="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler">
  9569. <summary>
  9570. Class used to watch config files.
  9571. </summary>
  9572. <remarks>
  9573. <para>
  9574. Uses the <see cref="T:System.IO.FileSystemWatcher"/> to monitor
  9575. changes to a specified file. Because multiple change notifications
  9576. may be raised when the file is modified, a timer is used to
  9577. compress the notifications into a single event. The timer
  9578. waits for <see cref="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis"/> time before delivering
  9579. the event notification. If any further <see cref="T:System.IO.FileSystemWatcher"/>
  9580. change notifications arrive while the timer is waiting it
  9581. is reset and waits again for <see cref="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis"/> to
  9582. elapse.
  9583. </para>
  9584. </remarks>
  9585. </member>
  9586. <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_configFile">
  9587. <summary>
  9588. Holds the FileInfo used to configure the XmlConfigurator
  9589. </summary>
  9590. </member>
  9591. <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_repository">
  9592. <summary>
  9593. Holds the repository being configured.
  9594. </summary>
  9595. </member>
  9596. <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_timer">
  9597. <summary>
  9598. The timer used to compress the notification events.
  9599. </summary>
  9600. </member>
  9601. <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.TimeoutMillis">
  9602. <summary>
  9603. The default amount of time to wait after receiving notification
  9604. before reloading the config file.
  9605. </summary>
  9606. </member>
  9607. <member name="F:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.m_watcher">
  9608. <summary>
  9609. Watches file for changes. This object should be disposed when no longer
  9610. needed to free system handles on the watched resources.
  9611. </summary>
  9612. </member>
  9613. <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.#ctor(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
  9614. <summary>
  9615. Initializes a new instance of the <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler" /> class to
  9616. watch a specified config file used to configure a repository.
  9617. </summary>
  9618. <param name="repository">The repository to configure.</param>
  9619. <param name="configFile">The configuration file to watch.</param>
  9620. <remarks>
  9621. <para>
  9622. Initializes a new instance of the <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler" /> class.
  9623. </para>
  9624. </remarks>
  9625. </member>
  9626. <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnChanged(System.Object,System.IO.FileSystemEventArgs)">
  9627. <summary>
  9628. Event handler used by <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/>.
  9629. </summary>
  9630. <param name="source">The <see cref="T:System.IO.FileSystemWatcher"/> firing the event.</param>
  9631. <param name="e">The argument indicates the file that caused the event to be fired.</param>
  9632. <remarks>
  9633. <para>
  9634. This handler reloads the configuration from the file when the event is fired.
  9635. </para>
  9636. </remarks>
  9637. </member>
  9638. <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.ConfigureAndWatchHandler_OnRenamed(System.Object,System.IO.RenamedEventArgs)">
  9639. <summary>
  9640. Event handler used by <see cref="T:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler"/>.
  9641. </summary>
  9642. <param name="source">The <see cref="T:System.IO.FileSystemWatcher"/> firing the event.</param>
  9643. <param name="e">The argument indicates the file that caused the event to be fired.</param>
  9644. <remarks>
  9645. <para>
  9646. This handler reloads the configuration from the file when the event is fired.
  9647. </para>
  9648. </remarks>
  9649. </member>
  9650. <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.OnWatchedFileChange(System.Object)">
  9651. <summary>
  9652. Called by the timer when the configuration has been updated.
  9653. </summary>
  9654. <param name="state">null</param>
  9655. </member>
  9656. <member name="M:log4net.Config.XmlConfigurator.ConfigureAndWatchHandler.Dispose">
  9657. <summary>
  9658. Release the handles held by the watcher and timer.
  9659. </summary>
  9660. </member>
  9661. <member name="M:log4net.Config.XmlConfigurator.InternalConfigureFromXml(log4net.Repository.ILoggerRepository,System.Xml.XmlElement)">
  9662. <summary>
  9663. Configures the specified repository using a <c>log4net</c> element.
  9664. </summary>
  9665. <param name="repository">The hierarchy to configure.</param>
  9666. <param name="element">The element to parse.</param>
  9667. <remarks>
  9668. <para>
  9669. Loads the log4net configuration from the XML element
  9670. supplied as <paramref name="element"/>.
  9671. </para>
  9672. <para>
  9673. This method is ultimately called by one of the Configure methods
  9674. to load the configuration from an <see cref="T:System.Xml.XmlElement"/>.
  9675. </para>
  9676. </remarks>
  9677. </member>
  9678. <member name="F:log4net.Config.XmlConfigurator.m_repositoryName2ConfigAndWatchHandler">
  9679. <summary>
  9680. Maps repository names to ConfigAndWatchHandler instances to allow a particular
  9681. ConfigAndWatchHandler to dispose of its FileSystemWatcher when a repository is
  9682. reconfigured.
  9683. </summary>
  9684. </member>
  9685. <member name="F:log4net.Config.XmlConfigurator.declaringType">
  9686. <summary>
  9687. The fully qualified type of the XmlConfigurator class.
  9688. </summary>
  9689. <remarks>
  9690. Used by the internal logger to record the Type of the
  9691. log message.
  9692. </remarks>
  9693. </member>
  9694. <member name="T:log4net.Config.XmlConfiguratorAttribute">
  9695. <summary>
  9696. Assembly level attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>.
  9697. </summary>
  9698. <remarks>
  9699. <para>
  9700. This attribute may only be used at the assembly scope and can only
  9701. be used once per assembly.
  9702. </para>
  9703. <para>
  9704. Use this attribute to configure the <see cref="T:log4net.Config.XmlConfigurator"/>
  9705. without calling one of the <see cref="M:XmlConfigurator.Configure()"/>
  9706. methods.
  9707. </para>
  9708. <para>
  9709. If neither of the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> or <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>
  9710. properties are set the configuration is loaded from the application's .config file.
  9711. If set the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> property takes priority over the
  9712. <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> property. The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> property
  9713. specifies a path to a file to load the config from. The path is relative to the
  9714. application's base directory; <see cref="P:System.AppDomain.BaseDirectory"/>.
  9715. The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> property is used as a postfix to the assembly file name.
  9716. The config file must be located in the application's base directory; <see cref="P:System.AppDomain.BaseDirectory"/>.
  9717. For example in a console application setting the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> to
  9718. <c>config</c> has the same effect as not specifying the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> or
  9719. <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> properties.
  9720. </para>
  9721. <para>
  9722. The <see cref="P:log4net.Config.XmlConfiguratorAttribute.Watch"/> property can be set to cause the <see cref="T:log4net.Config.XmlConfigurator"/>
  9723. to watch the configuration file for changes.
  9724. </para>
  9725. <note>
  9726. <para>
  9727. Log4net will only look for assembly level configuration attributes once.
  9728. When using the log4net assembly level attributes to control the configuration
  9729. of log4net you must ensure that the first call to any of the
  9730. <see cref="T:log4net.Core.LoggerManager"/> methods is made from the assembly with the configuration
  9731. attributes.
  9732. </para>
  9733. <para>
  9734. If you cannot guarantee the order in which log4net calls will be made from
  9735. different assemblies you must use programmatic configuration instead, i.e.
  9736. call the <see cref="M:XmlConfigurator.Configure()"/> method directly.
  9737. </para>
  9738. </note>
  9739. </remarks>
  9740. <author>Nicko Cadell</author>
  9741. <author>Gert Driesen</author>
  9742. </member>
  9743. <member name="M:log4net.Config.XmlConfiguratorAttribute.#ctor">
  9744. <summary>
  9745. Default constructor
  9746. </summary>
  9747. <remarks>
  9748. <para>
  9749. Default constructor
  9750. </para>
  9751. </remarks>
  9752. </member>
  9753. <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile">
  9754. <summary>
  9755. Gets or sets the filename of the configuration file.
  9756. </summary>
  9757. <value>
  9758. The filename of the configuration file.
  9759. </value>
  9760. <remarks>
  9761. <para>
  9762. If specified, this is the name of the configuration file to use with
  9763. the <see cref="T:log4net.Config.XmlConfigurator"/>. This file path is relative to the
  9764. <b>application base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>).
  9765. </para>
  9766. <para>
  9767. The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
  9768. </para>
  9769. </remarks>
  9770. </member>
  9771. <member name="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension">
  9772. <summary>
  9773. Gets or sets the extension of the configuration file.
  9774. </summary>
  9775. <value>
  9776. The extension of the configuration file.
  9777. </value>
  9778. <remarks>
  9779. <para>
  9780. If specified this is the extension for the configuration file.
  9781. The path to the config file is built by using the <b>application
  9782. base</b> directory (<see cref="P:System.AppDomain.BaseDirectory"/>),
  9783. the <b>assembly file name</b> and the config file extension.
  9784. </para>
  9785. <para>
  9786. If the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/> is set to <c>MyExt</c> then
  9787. possible config file names would be: <c>MyConsoleApp.exe.MyExt</c> or
  9788. <c>MyClassLibrary.dll.MyExt</c>.
  9789. </para>
  9790. <para>
  9791. The <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFile"/> takes priority over the <see cref="P:log4net.Config.XmlConfiguratorAttribute.ConfigFileExtension"/>.
  9792. </para>
  9793. </remarks>
  9794. </member>
  9795. <member name="P:log4net.Config.XmlConfiguratorAttribute.Watch">
  9796. <summary>
  9797. Gets or sets a value indicating whether to watch the configuration file.
  9798. </summary>
  9799. <value>
  9800. <c>true</c> if the configuration should be watched, <c>false</c> otherwise.
  9801. </value>
  9802. <remarks>
  9803. <para>
  9804. If this flag is specified and set to <c>true</c> then the framework
  9805. will watch the configuration file and will reload the config each time
  9806. the file is modified.
  9807. </para>
  9808. <para>
  9809. The config file can only be watched if it is loaded from local disk.
  9810. In a No-Touch (Smart Client) deployment where the application is downloaded
  9811. from a web server the config file may not reside on the local disk
  9812. and therefore it may not be able to watch it.
  9813. </para>
  9814. <note>
  9815. Watching configuration is not supported on the SSCLI.
  9816. </note>
  9817. </remarks>
  9818. </member>
  9819. <member name="M:log4net.Config.XmlConfiguratorAttribute.Configure(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
  9820. <summary>
  9821. Configures the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
  9822. </summary>
  9823. <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
  9824. <param name="targetRepository">The repository to configure.</param>
  9825. <remarks>
  9826. <para>
  9827. Configure the repository using the <see cref="T:log4net.Config.XmlConfigurator"/>.
  9828. The <paramref name="targetRepository"/> specified must extend the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>
  9829. class otherwise the <see cref="T:log4net.Config.XmlConfigurator"/> will not be able to
  9830. configure it.
  9831. </para>
  9832. </remarks>
  9833. <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="targetRepository" /> does not extend <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.</exception>
  9834. </member>
  9835. <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
  9836. <summary>
  9837. Attempt to load configuration from the local file system
  9838. </summary>
  9839. <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
  9840. <param name="targetRepository">The repository to configure.</param>
  9841. </member>
  9842. <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromFile(log4net.Repository.ILoggerRepository,System.IO.FileInfo)">
  9843. <summary>
  9844. Configure the specified repository using a <see cref="T:System.IO.FileInfo"/>
  9845. </summary>
  9846. <param name="targetRepository">The repository to configure.</param>
  9847. <param name="configFile">the FileInfo pointing to the config file</param>
  9848. </member>
  9849. <member name="M:log4net.Config.XmlConfiguratorAttribute.ConfigureFromUri(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
  9850. <summary>
  9851. Attempt to load configuration from a URI
  9852. </summary>
  9853. <param name="sourceAssembly">The assembly that this attribute was defined on.</param>
  9854. <param name="targetRepository">The repository to configure.</param>
  9855. </member>
  9856. <member name="F:log4net.Config.XmlConfiguratorAttribute.declaringType">
  9857. <summary>
  9858. The fully qualified type of the XmlConfiguratorAttribute class.
  9859. </summary>
  9860. <remarks>
  9861. Used by the internal logger to record the Type of the
  9862. log message.
  9863. </remarks>
  9864. </member>
  9865. <member name="T:log4net.Core.CompactRepositorySelector">
  9866. <summary>
  9867. The implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface suitable
  9868. for use with the compact framework
  9869. </summary>
  9870. <remarks>
  9871. <para>
  9872. This <see cref="T:log4net.Core.IRepositorySelector"/> implementation is a simple
  9873. mapping between repository name and <see cref="T:log4net.Repository.ILoggerRepository"/>
  9874. object.
  9875. </para>
  9876. <para>
  9877. The .NET Compact Framework 1.0 does not support retrieving assembly
  9878. level attributes therefore unlike the <c>DefaultRepositorySelector</c>
  9879. this selector does not examine the calling assembly for attributes.
  9880. </para>
  9881. </remarks>
  9882. <author>Nicko Cadell</author>
  9883. </member>
  9884. <member name="M:log4net.Core.CompactRepositorySelector.#ctor(System.Type)">
  9885. <summary>
  9886. Create a new repository selector
  9887. </summary>
  9888. <param name="defaultRepositoryType">the type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
  9889. <remarks>
  9890. <para>
  9891. Create an new compact repository selector.
  9892. The default type for repositories must be specified,
  9893. an appropriate value would be <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
  9894. </para>
  9895. </remarks>
  9896. <exception cref="T:System.ArgumentNullException">throw if <paramref name="defaultRepositoryType"/> is null</exception>
  9897. <exception cref="T:System.ArgumentOutOfRangeException">throw if <paramref name="defaultRepositoryType"/> does not implement <see cref="T:log4net.Repository.ILoggerRepository"/></exception>
  9898. </member>
  9899. <member name="M:log4net.Core.CompactRepositorySelector.GetRepository(System.Reflection.Assembly)">
  9900. <summary>
  9901. Get the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly
  9902. </summary>
  9903. <param name="assembly">not used</param>
  9904. <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
  9905. <remarks>
  9906. <para>
  9907. The <paramref name="assembly"/> argument is not used. This selector does not create a
  9908. separate repository for each assembly.
  9909. </para>
  9910. <para>
  9911. As a named repository is not specified the default repository is
  9912. returned. The default repository is named <c>log4net-default-repository</c>.
  9913. </para>
  9914. </remarks>
  9915. </member>
  9916. <member name="M:log4net.Core.CompactRepositorySelector.GetRepository(System.String)">
  9917. <summary>
  9918. Get the named <see cref="T:log4net.Repository.ILoggerRepository"/>
  9919. </summary>
  9920. <param name="repositoryName">the name of the repository to lookup</param>
  9921. <returns>The named <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
  9922. <remarks>
  9923. <para>
  9924. Get the named <see cref="T:log4net.Repository.ILoggerRepository"/>. The default
  9925. repository is <c>log4net-default-repository</c>. Other repositories
  9926. must be created using the <see cref="M:CreateRepository(string, Type)"/>.
  9927. If the named repository does not exist an exception is thrown.
  9928. </para>
  9929. </remarks>
  9930. <exception cref="T:System.ArgumentNullException">throw if <paramref name="repositoryName"/> is null</exception>
  9931. <exception cref="T:log4net.Core.LogException">throw if the <paramref name="repositoryName"/> does not exist</exception>
  9932. </member>
  9933. <member name="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
  9934. <summary>
  9935. Create a new repository for the assembly specified
  9936. </summary>
  9937. <param name="assembly">not used</param>
  9938. <param name="repositoryType">the type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
  9939. <returns>the repository created</returns>
  9940. <remarks>
  9941. <para>
  9942. The <paramref name="assembly"/> argument is not used. This selector does not create a
  9943. separate repository for each assembly.
  9944. </para>
  9945. <para>
  9946. If the <paramref name="repositoryType"/> is <c>null</c> then the
  9947. default repository type specified to the constructor is used.
  9948. </para>
  9949. <para>
  9950. As a named repository is not specified the default repository is
  9951. returned. The default repository is named <c>log4net-default-repository</c>.
  9952. </para>
  9953. </remarks>
  9954. </member>
  9955. <member name="M:log4net.Core.CompactRepositorySelector.CreateRepository(System.String,System.Type)">
  9956. <summary>
  9957. Create a new repository for the repository specified
  9958. </summary>
  9959. <param name="repositoryName">the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
  9960. <param name="repositoryType">the type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.
  9961. If this param is null then the default repository type is used.</param>
  9962. <returns>the repository created</returns>
  9963. <remarks>
  9964. <para>
  9965. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  9966. specified such that a call to <see cref="M:GetRepository(string)"/> with the
  9967. same repository specified will return the same repository instance.
  9968. </para>
  9969. <para>
  9970. If the named repository already exists an exception will be thrown.
  9971. </para>
  9972. <para>
  9973. If <paramref name="repositoryType"/> is <c>null</c> then the default
  9974. repository type specified to the constructor is used.
  9975. </para>
  9976. </remarks>
  9977. <exception cref="T:System.ArgumentNullException">throw if <paramref name="repositoryName"/> is null</exception>
  9978. <exception cref="T:log4net.Core.LogException">throw if the <paramref name="repositoryName"/> already exists</exception>
  9979. </member>
  9980. <member name="M:log4net.Core.CompactRepositorySelector.ExistsRepository(System.String)">
  9981. <summary>
  9982. Test if a named repository exists
  9983. </summary>
  9984. <param name="repositoryName">the named repository to check</param>
  9985. <returns><c>true</c> if the repository exists</returns>
  9986. <remarks>
  9987. <para>
  9988. Test if a named repository exists. Use <see cref="M:CreateRepository(string, Type)"/>
  9989. to create a new repository and <see cref="M:GetRepository(string)"/> to retrieve
  9990. a repository.
  9991. </para>
  9992. </remarks>
  9993. </member>
  9994. <member name="M:log4net.Core.CompactRepositorySelector.GetAllRepositories">
  9995. <summary>
  9996. Gets a list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
  9997. </summary>
  9998. <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
  9999. <remarks>
  10000. <para>
  10001. Gets an array of all of the repositories created by this selector.
  10002. </para>
  10003. </remarks>
  10004. </member>
  10005. <member name="F:log4net.Core.CompactRepositorySelector.declaringType">
  10006. <summary>
  10007. The fully qualified type of the CompactRepositorySelector class.
  10008. </summary>
  10009. <remarks>
  10010. Used by the internal logger to record the Type of the
  10011. log message.
  10012. </remarks>
  10013. </member>
  10014. <member name="E:log4net.Core.CompactRepositorySelector.LoggerRepositoryCreatedEvent">
  10015. <summary>
  10016. Event to notify that a logger repository has been created.
  10017. </summary>
  10018. <value>
  10019. Event to notify that a logger repository has been created.
  10020. </value>
  10021. <remarks>
  10022. <para>
  10023. Event raised when a new repository is created.
  10024. The event source will be this selector. The event args will
  10025. be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
  10026. holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
  10027. </para>
  10028. </remarks>
  10029. </member>
  10030. <member name="M:log4net.Core.CompactRepositorySelector.OnLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
  10031. <summary>
  10032. Notify the registered listeners that the repository has been created
  10033. </summary>
  10034. <param name="repository">The repository that has been created</param>
  10035. <remarks>
  10036. <para>
  10037. Raises the <event cref="E:log4net.Core.CompactRepositorySelector.LoggerRepositoryCreatedEvent">LoggerRepositoryCreatedEvent</event>
  10038. event.
  10039. </para>
  10040. </remarks>
  10041. </member>
  10042. <member name="T:log4net.Core.DefaultRepositorySelector">
  10043. <summary>
  10044. The default implementation of the <see cref="T:log4net.Core.IRepositorySelector"/> interface.
  10045. </summary>
  10046. <remarks>
  10047. <para>
  10048. Uses attributes defined on the calling assembly to determine how to
  10049. configure the hierarchy for the repository.
  10050. </para>
  10051. </remarks>
  10052. <author>Nicko Cadell</author>
  10053. <author>Gert Driesen</author>
  10054. </member>
  10055. <member name="E:log4net.Core.DefaultRepositorySelector.LoggerRepositoryCreatedEvent">
  10056. <summary>
  10057. Event to notify that a logger repository has been created.
  10058. </summary>
  10059. <value>
  10060. Event to notify that a logger repository has been created.
  10061. </value>
  10062. <remarks>
  10063. <para>
  10064. Event raised when a new repository is created.
  10065. The event source will be this selector. The event args will
  10066. be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
  10067. holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
  10068. </para>
  10069. </remarks>
  10070. </member>
  10071. <member name="M:log4net.Core.DefaultRepositorySelector.#ctor(System.Type)">
  10072. <summary>
  10073. Creates a new repository selector.
  10074. </summary>
  10075. <param name="defaultRepositoryType">The type of the repositories to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/></param>
  10076. <remarks>
  10077. <para>
  10078. Create an new repository selector.
  10079. The default type for repositories must be specified,
  10080. an appropriate value would be <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>.
  10081. </para>
  10082. </remarks>
  10083. <exception cref="T:System.ArgumentNullException"><paramref name="defaultRepositoryType"/> is <see langword="null" />.</exception>
  10084. <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="defaultRepositoryType"/> does not implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</exception>
  10085. </member>
  10086. <member name="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.Reflection.Assembly)">
  10087. <summary>
  10088. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
  10089. </summary>
  10090. <param name="repositoryAssembly">The assembly use to lookup the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10091. <remarks>
  10092. <para>
  10093. The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and the repository
  10094. to create can be overridden by specifying the <see cref="T:log4net.Config.RepositoryAttribute"/>
  10095. attribute on the <paramref name="repositoryAssembly"/>.
  10096. </para>
  10097. <para>
  10098. The default values are to use the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/>
  10099. implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
  10100. <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
  10101. </para>
  10102. <para>
  10103. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically configured using
  10104. any <see cref="T:log4net.Config.ConfiguratorAttribute"/> attributes defined on
  10105. the <paramref name="repositoryAssembly"/>.
  10106. </para>
  10107. </remarks>
  10108. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly</returns>
  10109. <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null" />.</exception>
  10110. </member>
  10111. <member name="M:log4net.Core.DefaultRepositorySelector.GetRepository(System.String)">
  10112. <summary>
  10113. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified repository.
  10114. </summary>
  10115. <param name="repositoryName">The repository to use to lookup the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10116. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified repository.</returns>
  10117. <remarks>
  10118. <para>
  10119. Returns the named repository. If <paramref name="repositoryName"/> is <c>null</c>
  10120. a <see cref="T:System.ArgumentNullException"/> is thrown. If the repository
  10121. does not exist a <see cref="T:log4net.Core.LogException"/> is thrown.
  10122. </para>
  10123. <para>
  10124. Use <see cref="M:CreateRepository(string, Type)"/> to create a repository.
  10125. </para>
  10126. </remarks>
  10127. <exception cref="T:System.ArgumentNullException"><paramref name="repositoryName"/> is <see langword="null" />.</exception>
  10128. <exception cref="T:log4net.Core.LogException"><paramref name="repositoryName"/> does not exist.</exception>
  10129. </member>
  10130. <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
  10131. <summary>
  10132. Create a new repository for the assembly specified
  10133. </summary>
  10134. <param name="repositoryAssembly">the assembly to use to create the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10135. <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10136. <returns>The repository created.</returns>
  10137. <remarks>
  10138. <para>
  10139. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  10140. specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
  10141. same assembly specified will return the same repository instance.
  10142. </para>
  10143. <para>
  10144. The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and
  10145. the repository to create can be overridden by specifying the
  10146. <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the
  10147. <paramref name="repositoryAssembly"/>. The default values are to use the
  10148. <paramref name="repositoryType"/> implementation of the
  10149. <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
  10150. <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
  10151. </para>
  10152. <para>
  10153. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically
  10154. configured using any <see cref="T:log4net.Config.ConfiguratorAttribute"/>
  10155. attributes defined on the <paramref name="repositoryAssembly"/>.
  10156. </para>
  10157. <para>
  10158. If a repository for the <paramref name="repositoryAssembly"/> already exists
  10159. that repository will be returned. An error will not be raised and that
  10160. repository may be of a different type to that specified in <paramref name="repositoryType"/>.
  10161. Also the <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the
  10162. assembly may be used to override the repository type specified in
  10163. <paramref name="repositoryType"/>.
  10164. </para>
  10165. </remarks>
  10166. <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null" />.</exception>
  10167. </member>
  10168. <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type,System.String,System.Boolean)">
  10169. <summary>
  10170. Creates a new repository for the assembly specified.
  10171. </summary>
  10172. <param name="repositoryAssembly">the assembly to use to create the repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10173. <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10174. <param name="repositoryName">The name to assign to the created repository</param>
  10175. <param name="readAssemblyAttributes">Set to <c>true</c> to read and apply the assembly attributes</param>
  10176. <returns>The repository created.</returns>
  10177. <remarks>
  10178. <para>
  10179. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  10180. specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
  10181. same assembly specified will return the same repository instance.
  10182. </para>
  10183. <para>
  10184. The type of the <see cref="T:log4net.Repository.ILoggerRepository"/> created and
  10185. the repository to create can be overridden by specifying the
  10186. <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the
  10187. <paramref name="repositoryAssembly"/>. The default values are to use the
  10188. <paramref name="repositoryType"/> implementation of the
  10189. <see cref="T:log4net.Repository.ILoggerRepository"/> interface and to use the
  10190. <see cref="P:System.Reflection.AssemblyName.Name"/> as the name of the repository.
  10191. </para>
  10192. <para>
  10193. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be automatically
  10194. configured using any <see cref="T:log4net.Config.ConfiguratorAttribute"/>
  10195. attributes defined on the <paramref name="repositoryAssembly"/>.
  10196. </para>
  10197. <para>
  10198. If a repository for the <paramref name="repositoryAssembly"/> already exists
  10199. that repository will be returned. An error will not be raised and that
  10200. repository may be of a different type to that specified in <paramref name="repositoryType"/>.
  10201. Also the <see cref="T:log4net.Config.RepositoryAttribute"/> attribute on the
  10202. assembly may be used to override the repository type specified in
  10203. <paramref name="repositoryType"/>.
  10204. </para>
  10205. </remarks>
  10206. <exception cref="T:System.ArgumentNullException"><paramref name="repositoryAssembly"/> is <see langword="null" />.</exception>
  10207. </member>
  10208. <member name="M:log4net.Core.DefaultRepositorySelector.CreateRepository(System.String,System.Type)">
  10209. <summary>
  10210. Creates a new repository for the specified repository.
  10211. </summary>
  10212. <param name="repositoryName">The repository to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10213. <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.
  10214. If this param is <see langword="null" /> then the default repository type is used.</param>
  10215. <returns>The new repository.</returns>
  10216. <remarks>
  10217. <para>
  10218. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  10219. specified such that a call to <see cref="M:GetRepository(string)"/> with the
  10220. same repository specified will return the same repository instance.
  10221. </para>
  10222. </remarks>
  10223. <exception cref="T:System.ArgumentNullException"><paramref name="repositoryName"/> is <see langword="null" />.</exception>
  10224. <exception cref="T:log4net.Core.LogException"><paramref name="repositoryName"/> already exists.</exception>
  10225. </member>
  10226. <member name="M:log4net.Core.DefaultRepositorySelector.ExistsRepository(System.String)">
  10227. <summary>
  10228. Test if a named repository exists
  10229. </summary>
  10230. <param name="repositoryName">the named repository to check</param>
  10231. <returns><c>true</c> if the repository exists</returns>
  10232. <remarks>
  10233. <para>
  10234. Test if a named repository exists. Use <see cref="M:CreateRepository(string, Type)"/>
  10235. to create a new repository and <see cref="M:GetRepository(string)"/> to retrieve
  10236. a repository.
  10237. </para>
  10238. </remarks>
  10239. </member>
  10240. <member name="M:log4net.Core.DefaultRepositorySelector.GetAllRepositories">
  10241. <summary>
  10242. Gets a list of <see cref="T:log4net.Repository.ILoggerRepository"/> objects
  10243. </summary>
  10244. <returns>an array of all known <see cref="T:log4net.Repository.ILoggerRepository"/> objects</returns>
  10245. <remarks>
  10246. <para>
  10247. Gets an array of all of the repositories created by this selector.
  10248. </para>
  10249. </remarks>
  10250. </member>
  10251. <member name="M:log4net.Core.DefaultRepositorySelector.AliasRepository(System.String,log4net.Repository.ILoggerRepository)">
  10252. <summary>
  10253. Aliases a repository to an existing repository.
  10254. </summary>
  10255. <param name="repositoryAlias">The repository to alias.</param>
  10256. <param name="repositoryTarget">The repository that the repository is aliased to.</param>
  10257. <remarks>
  10258. <para>
  10259. The repository specified will be aliased to the repository when created.
  10260. The repository must not already exist.
  10261. </para>
  10262. <para>
  10263. When the repository is created it must utilize the same repository type as
  10264. the repository it is aliased to, otherwise the aliasing will fail.
  10265. </para>
  10266. </remarks>
  10267. <exception cref="T:System.ArgumentNullException">
  10268. <para><paramref name="repositoryAlias" /> is <see langword="null" />.</para>
  10269. <para>-or-</para>
  10270. <para><paramref name="repositoryTarget" /> is <see langword="null" />.</para>
  10271. </exception>
  10272. </member>
  10273. <member name="M:log4net.Core.DefaultRepositorySelector.OnLoggerRepositoryCreatedEvent(log4net.Repository.ILoggerRepository)">
  10274. <summary>
  10275. Notifies the registered listeners that the repository has been created.
  10276. </summary>
  10277. <param name="repository">The repository that has been created.</param>
  10278. <remarks>
  10279. <para>
  10280. Raises the <see cref="E:log4net.Core.DefaultRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
  10281. </para>
  10282. </remarks>
  10283. </member>
  10284. <member name="M:log4net.Core.DefaultRepositorySelector.GetInfoForAssembly(System.Reflection.Assembly,System.String@,System.Type@)">
  10285. <summary>
  10286. Gets the repository name and repository type for the specified assembly.
  10287. </summary>
  10288. <param name="assembly">The assembly that has a <see cref="T:log4net.Config.RepositoryAttribute"/>.</param>
  10289. <param name="repositoryName">in/out param to hold the repository name to use for the assembly, caller should set this to the default value before calling.</param>
  10290. <param name="repositoryType">in/out param to hold the type of the repository to create for the assembly, caller should set this to the default value before calling.</param>
  10291. <exception cref="T:System.ArgumentNullException"><paramref name="assembly" /> is <see langword="null" />.</exception>
  10292. </member>
  10293. <member name="M:log4net.Core.DefaultRepositorySelector.ConfigureRepository(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
  10294. <summary>
  10295. Configures the repository using information from the assembly.
  10296. </summary>
  10297. <param name="assembly">The assembly containing <see cref="T:log4net.Config.ConfiguratorAttribute"/>
  10298. attributes which define the configuration for the repository.</param>
  10299. <param name="repository">The repository to configure.</param>
  10300. <exception cref="T:System.ArgumentNullException">
  10301. <para><paramref name="assembly" /> is <see langword="null" />.</para>
  10302. <para>-or-</para>
  10303. <para><paramref name="repository" /> is <see langword="null" />.</para>
  10304. </exception>
  10305. </member>
  10306. <member name="M:log4net.Core.DefaultRepositorySelector.LoadPlugins(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
  10307. <summary>
  10308. Loads the attribute defined plugins on the assembly.
  10309. </summary>
  10310. <param name="assembly">The assembly that contains the attributes.</param>
  10311. <param name="repository">The repository to add the plugins to.</param>
  10312. <exception cref="T:System.ArgumentNullException">
  10313. <para><paramref name="assembly" /> is <see langword="null" />.</para>
  10314. <para>-or-</para>
  10315. <para><paramref name="repository" /> is <see langword="null" />.</para>
  10316. </exception>
  10317. </member>
  10318. <member name="M:log4net.Core.DefaultRepositorySelector.LoadAliases(System.Reflection.Assembly,log4net.Repository.ILoggerRepository)">
  10319. <summary>
  10320. Loads the attribute defined aliases on the assembly.
  10321. </summary>
  10322. <param name="assembly">The assembly that contains the attributes.</param>
  10323. <param name="repository">The repository to alias to.</param>
  10324. <exception cref="T:System.ArgumentNullException">
  10325. <para><paramref name="assembly" /> is <see langword="null" />.</para>
  10326. <para>-or-</para>
  10327. <para><paramref name="repository" /> is <see langword="null" />.</para>
  10328. </exception>
  10329. </member>
  10330. <member name="F:log4net.Core.DefaultRepositorySelector.declaringType">
  10331. <summary>
  10332. The fully qualified type of the DefaultRepositorySelector class.
  10333. </summary>
  10334. <remarks>
  10335. Used by the internal logger to record the Type of the
  10336. log message.
  10337. </remarks>
  10338. </member>
  10339. <member name="T:log4net.Core.ErrorCode">
  10340. <summary>
  10341. Defined error codes that can be passed to the <see cref="M:IErrorHandler.Error(string, Exception, ErrorCode)"/> method.
  10342. </summary>
  10343. <remarks>
  10344. <para>
  10345. Values passed to the <see cref="M:IErrorHandler.Error(string, Exception, ErrorCode)"/> method.
  10346. </para>
  10347. </remarks>
  10348. <author>Nicko Cadell</author>
  10349. </member>
  10350. <member name="F:log4net.Core.ErrorCode.GenericFailure">
  10351. <summary>
  10352. A general error
  10353. </summary>
  10354. </member>
  10355. <member name="F:log4net.Core.ErrorCode.WriteFailure">
  10356. <summary>
  10357. Error while writing output
  10358. </summary>
  10359. </member>
  10360. <member name="F:log4net.Core.ErrorCode.FlushFailure">
  10361. <summary>
  10362. Failed to flush file
  10363. </summary>
  10364. </member>
  10365. <member name="F:log4net.Core.ErrorCode.CloseFailure">
  10366. <summary>
  10367. Failed to close file
  10368. </summary>
  10369. </member>
  10370. <member name="F:log4net.Core.ErrorCode.FileOpenFailure">
  10371. <summary>
  10372. Unable to open output file
  10373. </summary>
  10374. </member>
  10375. <member name="F:log4net.Core.ErrorCode.MissingLayout">
  10376. <summary>
  10377. No layout specified
  10378. </summary>
  10379. </member>
  10380. <member name="F:log4net.Core.ErrorCode.AddressParseFailure">
  10381. <summary>
  10382. Failed to parse address
  10383. </summary>
  10384. </member>
  10385. <member name="T:log4net.Core.ExceptionEvaluator">
  10386. <summary>
  10387. An evaluator that triggers on an Exception type
  10388. </summary>
  10389. <remarks>
  10390. <para>
  10391. This evaluator will trigger if the type of the Exception
  10392. passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
  10393. is equal to a Type in <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>. ///
  10394. </para>
  10395. </remarks>
  10396. <author>Drew Schaeffer</author>
  10397. </member>
  10398. <member name="F:log4net.Core.ExceptionEvaluator.m_type">
  10399. <summary>
  10400. The type that causes the trigger to fire.
  10401. </summary>
  10402. </member>
  10403. <member name="F:log4net.Core.ExceptionEvaluator.m_triggerOnSubclass">
  10404. <summary>
  10405. Causes subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/> to cause the trigger to fire.
  10406. </summary>
  10407. </member>
  10408. <member name="M:log4net.Core.ExceptionEvaluator.#ctor">
  10409. <summary>
  10410. Default ctor to allow dynamic creation through a configurator.
  10411. </summary>
  10412. </member>
  10413. <member name="M:log4net.Core.ExceptionEvaluator.#ctor(System.Type,System.Boolean)">
  10414. <summary>
  10415. Constructs an evaluator and initializes to trigger on <paramref name="exType"/>
  10416. </summary>
  10417. <param name="exType">the type that triggers this evaluator.</param>
  10418. <param name="triggerOnSubClass">If true, this evaluator will trigger on subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.</param>
  10419. </member>
  10420. <member name="P:log4net.Core.ExceptionEvaluator.ExceptionType">
  10421. <summary>
  10422. The type that triggers this evaluator.
  10423. </summary>
  10424. </member>
  10425. <member name="P:log4net.Core.ExceptionEvaluator.TriggerOnSubclass">
  10426. <summary>
  10427. If true, this evaluator will trigger on subclasses of <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.
  10428. </summary>
  10429. </member>
  10430. <member name="M:log4net.Core.ExceptionEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
  10431. <summary>
  10432. Is this <paramref name="loggingEvent"/> the triggering event?
  10433. </summary>
  10434. <param name="loggingEvent">The event to check</param>
  10435. <returns>This method returns <c>true</c>, if the logging event Exception
  10436. Type is <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.
  10437. Otherwise it returns <c>false</c></returns>
  10438. <remarks>
  10439. <para>
  10440. This evaluator will trigger if the Exception Type of the event
  10441. passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
  10442. is <see cref="P:log4net.Core.ExceptionEvaluator.ExceptionType"/>.
  10443. </para>
  10444. </remarks>
  10445. </member>
  10446. <member name="T:log4net.Core.IAppenderAttachable">
  10447. <summary>
  10448. Interface for attaching appenders to objects.
  10449. </summary>
  10450. <remarks>
  10451. <para>
  10452. Interface for attaching, removing and retrieving appenders.
  10453. </para>
  10454. </remarks>
  10455. <author>Nicko Cadell</author>
  10456. <author>Gert Driesen</author>
  10457. </member>
  10458. <member name="M:log4net.Core.IAppenderAttachable.AddAppender(log4net.Appender.IAppender)">
  10459. <summary>
  10460. Attaches an appender.
  10461. </summary>
  10462. <param name="appender">The appender to add.</param>
  10463. <remarks>
  10464. <para>
  10465. Add the specified appender. The implementation may
  10466. choose to allow or deny duplicate appenders.
  10467. </para>
  10468. </remarks>
  10469. </member>
  10470. <member name="P:log4net.Core.IAppenderAttachable.Appenders">
  10471. <summary>
  10472. Gets all attached appenders.
  10473. </summary>
  10474. <value>
  10475. A collection of attached appenders.
  10476. </value>
  10477. <remarks>
  10478. <para>
  10479. Gets a collection of attached appenders.
  10480. If there are no attached appenders the
  10481. implementation should return an empty
  10482. collection rather than <c>null</c>.
  10483. </para>
  10484. </remarks>
  10485. </member>
  10486. <member name="M:log4net.Core.IAppenderAttachable.GetAppender(System.String)">
  10487. <summary>
  10488. Gets an attached appender with the specified name.
  10489. </summary>
  10490. <param name="name">The name of the appender to get.</param>
  10491. <returns>
  10492. The appender with the name specified, or <c>null</c> if no appender with the
  10493. specified name is found.
  10494. </returns>
  10495. <remarks>
  10496. <para>
  10497. Returns an attached appender with the <paramref name="name"/> specified.
  10498. If no appender with the specified name is found <c>null</c> will be
  10499. returned.
  10500. </para>
  10501. </remarks>
  10502. </member>
  10503. <member name="M:log4net.Core.IAppenderAttachable.RemoveAllAppenders">
  10504. <summary>
  10505. Removes all attached appenders.
  10506. </summary>
  10507. <remarks>
  10508. <para>
  10509. Removes and closes all attached appenders
  10510. </para>
  10511. </remarks>
  10512. </member>
  10513. <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(log4net.Appender.IAppender)">
  10514. <summary>
  10515. Removes the specified appender from the list of attached appenders.
  10516. </summary>
  10517. <param name="appender">The appender to remove.</param>
  10518. <returns>The appender removed from the list</returns>
  10519. <remarks>
  10520. <para>
  10521. The appender removed is not closed.
  10522. If you are discarding the appender you must call
  10523. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  10524. </para>
  10525. </remarks>
  10526. </member>
  10527. <member name="M:log4net.Core.IAppenderAttachable.RemoveAppender(System.String)">
  10528. <summary>
  10529. Removes the appender with the specified name from the list of appenders.
  10530. </summary>
  10531. <param name="name">The name of the appender to remove.</param>
  10532. <returns>The appender removed from the list</returns>
  10533. <remarks>
  10534. <para>
  10535. The appender removed is not closed.
  10536. If you are discarding the appender you must call
  10537. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  10538. </para>
  10539. </remarks>
  10540. </member>
  10541. <member name="T:log4net.Core.IErrorHandler">
  10542. <summary>
  10543. Appenders may delegate their error handling to an <see cref="T:log4net.Core.IErrorHandler" />.
  10544. </summary>
  10545. <remarks>
  10546. <para>
  10547. Error handling is a particularly tedious to get right because by
  10548. definition errors are hard to predict and to reproduce.
  10549. </para>
  10550. </remarks>
  10551. <author>Nicko Cadell</author>
  10552. <author>Gert Driesen</author>
  10553. </member>
  10554. <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
  10555. <summary>
  10556. Handles the error and information about the error condition is passed as
  10557. a parameter.
  10558. </summary>
  10559. <param name="message">The message associated with the error.</param>
  10560. <param name="e">The <see cref="T:System.Exception" /> that was thrown when the error occurred.</param>
  10561. <param name="errorCode">The error code associated with the error.</param>
  10562. <remarks>
  10563. <para>
  10564. Handles the error and information about the error condition is passed as
  10565. a parameter.
  10566. </para>
  10567. </remarks>
  10568. </member>
  10569. <member name="M:log4net.Core.IErrorHandler.Error(System.String,System.Exception)">
  10570. <summary>
  10571. Prints the error message passed as a parameter.
  10572. </summary>
  10573. <param name="message">The message associated with the error.</param>
  10574. <param name="e">The <see cref="T:System.Exception" /> that was thrown when the error occurred.</param>
  10575. <remarks>
  10576. <para>
  10577. See <see cref="M:Error(string,Exception,ErrorCode)"/>.
  10578. </para>
  10579. </remarks>
  10580. </member>
  10581. <member name="M:log4net.Core.IErrorHandler.Error(System.String)">
  10582. <summary>
  10583. Prints the error message passed as a parameter.
  10584. </summary>
  10585. <param name="message">The message associated with the error.</param>
  10586. <remarks>
  10587. <para>
  10588. See <see cref="M:Error(string,Exception,ErrorCode)"/>.
  10589. </para>
  10590. </remarks>
  10591. </member>
  10592. <member name="T:log4net.Core.IFixingRequired">
  10593. <summary>
  10594. Interface for objects that require fixing.
  10595. </summary>
  10596. <remarks>
  10597. <para>
  10598. Interface that indicates that the object requires fixing before it
  10599. can be taken outside the context of the appender's
  10600. <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method.
  10601. </para>
  10602. <para>
  10603. When objects that implement this interface are stored
  10604. in the context properties maps <see cref="T:log4net.GlobalContext"/>
  10605. <see cref="P:log4net.GlobalContext.Properties"/> and <see cref="T:log4net.ThreadContext"/>
  10606. <see cref="P:log4net.ThreadContext.Properties"/> are fixed
  10607. (see <see cref="P:log4net.Core.LoggingEvent.Fix"/>) the <see cref="M:log4net.Core.IFixingRequired.GetFixedObject"/>
  10608. method will be called.
  10609. </para>
  10610. </remarks>
  10611. <author>Nicko Cadell</author>
  10612. </member>
  10613. <member name="M:log4net.Core.IFixingRequired.GetFixedObject">
  10614. <summary>
  10615. Get a portable version of this object
  10616. </summary>
  10617. <returns>the portable instance of this object</returns>
  10618. <remarks>
  10619. <para>
  10620. Get a portable instance object that represents the current
  10621. state of this object. The portable object can be stored
  10622. and logged from any thread with identical results.
  10623. </para>
  10624. </remarks>
  10625. </member>
  10626. <member name="T:log4net.Core.ILogger">
  10627. <summary>
  10628. Interface that all loggers implement
  10629. </summary>
  10630. <remarks>
  10631. <para>
  10632. This interface supports logging events and testing if a level
  10633. is enabled for logging.
  10634. </para>
  10635. <para>
  10636. These methods will not throw exceptions. Note to implementor, ensure
  10637. that the implementation of these methods cannot allow an exception
  10638. to be thrown to the caller.
  10639. </para>
  10640. </remarks>
  10641. <author>Nicko Cadell</author>
  10642. <author>Gert Driesen</author>
  10643. </member>
  10644. <member name="P:log4net.Core.ILogger.Name">
  10645. <summary>
  10646. Gets the name of the logger.
  10647. </summary>
  10648. <value>
  10649. The name of the logger.
  10650. </value>
  10651. <remarks>
  10652. <para>
  10653. The name of this logger
  10654. </para>
  10655. </remarks>
  10656. </member>
  10657. <member name="M:log4net.Core.ILogger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
  10658. <summary>
  10659. This generic form is intended to be used by wrappers.
  10660. </summary>
  10661. <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
  10662. the stack boundary into the logging system for this call.</param>
  10663. <param name="level">The level of the message to be logged.</param>
  10664. <param name="message">The message object to log.</param>
  10665. <param name="exception">the exception to log, including its stack trace. Pass <c>null</c> to not log an exception.</param>
  10666. <remarks>
  10667. <para>
  10668. Generates a logging event for the specified <paramref name="level"/> using
  10669. the <paramref name="message"/> and <paramref name="exception"/>.
  10670. </para>
  10671. </remarks>
  10672. </member>
  10673. <member name="M:log4net.Core.ILogger.Log(log4net.Core.LoggingEvent)">
  10674. <summary>
  10675. This is the most generic printing method that is intended to be used
  10676. by wrappers.
  10677. </summary>
  10678. <param name="logEvent">The event being logged.</param>
  10679. <remarks>
  10680. <para>
  10681. Logs the specified logging event through this logger.
  10682. </para>
  10683. </remarks>
  10684. </member>
  10685. <member name="M:log4net.Core.ILogger.IsEnabledFor(log4net.Core.Level)">
  10686. <summary>
  10687. Checks if this logger is enabled for a given <see cref="T:log4net.Core.Level"/> passed as parameter.
  10688. </summary>
  10689. <param name="level">The level to check.</param>
  10690. <returns>
  10691. <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
  10692. </returns>
  10693. <remarks>
  10694. <para>
  10695. Test if this logger is going to log events of the specified <paramref name="level"/>.
  10696. </para>
  10697. </remarks>
  10698. </member>
  10699. <member name="P:log4net.Core.ILogger.Repository">
  10700. <summary>
  10701. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this
  10702. <c>Logger</c> instance is attached to.
  10703. </summary>
  10704. <value>
  10705. The <see cref="T:log4net.Repository.ILoggerRepository" /> that this logger belongs to.
  10706. </value>
  10707. <remarks>
  10708. <para>
  10709. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this
  10710. <c>Logger</c> instance is attached to.
  10711. </para>
  10712. </remarks>
  10713. </member>
  10714. <member name="T:log4net.Core.ILoggerWrapper">
  10715. <summary>
  10716. Base interface for all wrappers
  10717. </summary>
  10718. <remarks>
  10719. <para>
  10720. Base interface for all wrappers.
  10721. </para>
  10722. <para>
  10723. All wrappers must implement this interface.
  10724. </para>
  10725. </remarks>
  10726. <author>Nicko Cadell</author>
  10727. </member>
  10728. <member name="P:log4net.Core.ILoggerWrapper.Logger">
  10729. <summary>
  10730. Get the implementation behind this wrapper object.
  10731. </summary>
  10732. <value>
  10733. The <see cref="T:log4net.Core.ILogger"/> object that in implementing this object.
  10734. </value>
  10735. <remarks>
  10736. <para>
  10737. The <see cref="T:log4net.Core.ILogger"/> object that in implementing this
  10738. object. The <c>Logger</c> object may not
  10739. be the same object as this object because of logger decorators.
  10740. This gets the actual underlying objects that is used to process
  10741. the log events.
  10742. </para>
  10743. </remarks>
  10744. </member>
  10745. <member name="T:log4net.Core.IOptionHandler">
  10746. <summary>
  10747. Interface used to delay activate a configured object.
  10748. </summary>
  10749. <remarks>
  10750. <para>
  10751. This allows an object to defer activation of its options until all
  10752. options have been set. This is required for components which have
  10753. related options that remain ambiguous until all are set.
  10754. </para>
  10755. <para>
  10756. If a component implements this interface then the <see cref="M:log4net.Core.IOptionHandler.ActivateOptions"/> method
  10757. must be called by the container after its all the configured properties have been set
  10758. and before the component can be used.
  10759. </para>
  10760. </remarks>
  10761. <author>Nicko Cadell</author>
  10762. </member>
  10763. <member name="M:log4net.Core.IOptionHandler.ActivateOptions">
  10764. <summary>
  10765. Activate the options that were previously set with calls to properties.
  10766. </summary>
  10767. <remarks>
  10768. <para>
  10769. This allows an object to defer activation of its options until all
  10770. options have been set. This is required for components which have
  10771. related options that remain ambiguous until all are set.
  10772. </para>
  10773. <para>
  10774. If a component implements this interface then this method must be called
  10775. after its properties have been set before the component can be used.
  10776. </para>
  10777. </remarks>
  10778. </member>
  10779. <member name="T:log4net.Core.LoggerRepositoryCreationEventHandler">
  10780. <summary>
  10781. Delegate used to handle logger repository creation event notifications
  10782. </summary>
  10783. <param name="sender">The <see cref="T:log4net.Core.IRepositorySelector"/> which created the repository.</param>
  10784. <param name="e">The <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> event args
  10785. that holds the <see cref="T:log4net.Repository.ILoggerRepository"/> instance that has been created.</param>
  10786. <remarks>
  10787. <para>
  10788. Delegate used to handle logger repository creation event notifications.
  10789. </para>
  10790. </remarks>
  10791. </member>
  10792. <member name="T:log4net.Core.LoggerRepositoryCreationEventArgs">
  10793. <summary>
  10794. Provides data for the <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/> event.
  10795. </summary>
  10796. <remarks>
  10797. <para>
  10798. A <see cref="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent"/>
  10799. event is raised every time a <see cref="T:log4net.Repository.ILoggerRepository"/> is created.
  10800. </para>
  10801. </remarks>
  10802. </member>
  10803. <member name="F:log4net.Core.LoggerRepositoryCreationEventArgs.m_repository">
  10804. <summary>
  10805. The <see cref="T:log4net.Repository.ILoggerRepository"/> created
  10806. </summary>
  10807. </member>
  10808. <member name="M:log4net.Core.LoggerRepositoryCreationEventArgs.#ctor(log4net.Repository.ILoggerRepository)">
  10809. <summary>
  10810. Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
  10811. </summary>
  10812. <param name="repository">the <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created</param>
  10813. <remarks>
  10814. <para>
  10815. Construct instance using <see cref="T:log4net.Repository.ILoggerRepository"/> specified
  10816. </para>
  10817. </remarks>
  10818. </member>
  10819. <member name="P:log4net.Core.LoggerRepositoryCreationEventArgs.LoggerRepository">
  10820. <summary>
  10821. The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
  10822. </summary>
  10823. <value>
  10824. The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
  10825. </value>
  10826. <remarks>
  10827. <para>
  10828. The <see cref="T:log4net.Repository.ILoggerRepository"/> that has been created
  10829. </para>
  10830. </remarks>
  10831. </member>
  10832. <member name="T:log4net.Core.IRepositorySelector">
  10833. <summary>
  10834. Interface used by the <see cref="T:log4net.LogManager"/> to select the <see cref="T:log4net.Repository.ILoggerRepository"/>.
  10835. </summary>
  10836. <remarks>
  10837. <para>
  10838. The <see cref="T:log4net.LogManager"/> uses a <see cref="T:log4net.Core.IRepositorySelector"/>
  10839. to specify the policy for selecting the correct <see cref="T:log4net.Repository.ILoggerRepository"/>
  10840. to return to the caller.
  10841. </para>
  10842. </remarks>
  10843. <author>Nicko Cadell</author>
  10844. <author>Gert Driesen</author>
  10845. </member>
  10846. <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.Reflection.Assembly)">
  10847. <summary>
  10848. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
  10849. </summary>
  10850. <param name="assembly">The assembly to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/></param>
  10851. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> for the assembly.</returns>
  10852. <remarks>
  10853. <para>
  10854. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the specified assembly.
  10855. </para>
  10856. <para>
  10857. How the association between <see cref="T:System.Reflection.Assembly"/> and <see cref="T:log4net.Repository.ILoggerRepository"/>
  10858. is made is not defined. The implementation may choose any method for
  10859. this association. The results of this method must be repeatable, i.e.
  10860. when called again with the same arguments the result must be the
  10861. save value.
  10862. </para>
  10863. </remarks>
  10864. </member>
  10865. <member name="M:log4net.Core.IRepositorySelector.GetRepository(System.String)">
  10866. <summary>
  10867. Gets the named <see cref="T:log4net.Repository.ILoggerRepository"/>.
  10868. </summary>
  10869. <param name="repositoryName">The name to use to lookup to the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10870. <returns>The named <see cref="T:log4net.Repository.ILoggerRepository"/></returns>
  10871. <remarks>
  10872. Lookup a named <see cref="T:log4net.Repository.ILoggerRepository"/>. This is the repository created by
  10873. calling <see cref="M:CreateRepository(string,Type)"/>.
  10874. </remarks>
  10875. </member>
  10876. <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.Reflection.Assembly,System.Type)">
  10877. <summary>
  10878. Creates a new repository for the assembly specified.
  10879. </summary>
  10880. <param name="assembly">The assembly to use to create the domain to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10881. <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10882. <returns>The repository created.</returns>
  10883. <remarks>
  10884. <para>
  10885. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the domain
  10886. specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
  10887. same assembly specified will return the same repository instance.
  10888. </para>
  10889. <para>
  10890. How the association between <see cref="T:System.Reflection.Assembly"/> and <see cref="T:log4net.Repository.ILoggerRepository"/>
  10891. is made is not defined. The implementation may choose any method for
  10892. this association.
  10893. </para>
  10894. </remarks>
  10895. </member>
  10896. <member name="M:log4net.Core.IRepositorySelector.CreateRepository(System.String,System.Type)">
  10897. <summary>
  10898. Creates a new repository with the name specified.
  10899. </summary>
  10900. <param name="repositoryName">The name to associate with the <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10901. <param name="repositoryType">The type of repository to create, must implement <see cref="T:log4net.Repository.ILoggerRepository"/>.</param>
  10902. <returns>The repository created.</returns>
  10903. <remarks>
  10904. <para>
  10905. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the name
  10906. specified such that a call to <see cref="M:GetRepository(string)"/> with the
  10907. same name will return the same repository instance.
  10908. </para>
  10909. </remarks>
  10910. </member>
  10911. <member name="M:log4net.Core.IRepositorySelector.ExistsRepository(System.String)">
  10912. <summary>
  10913. Test if a named repository exists
  10914. </summary>
  10915. <param name="repositoryName">the named repository to check</param>
  10916. <returns><c>true</c> if the repository exists</returns>
  10917. <remarks>
  10918. <para>
  10919. Test if a named repository exists. Use <see cref="M:CreateRepository(Assembly, Type)"/>
  10920. to create a new repository and <see cref="M:GetRepository(Assembly)"/> to retrieve
  10921. a repository.
  10922. </para>
  10923. </remarks>
  10924. </member>
  10925. <member name="M:log4net.Core.IRepositorySelector.GetAllRepositories">
  10926. <summary>
  10927. Gets an array of all currently defined repositories.
  10928. </summary>
  10929. <returns>
  10930. An array of the <see cref="T:log4net.Repository.ILoggerRepository"/> instances created by
  10931. this <see cref="T:log4net.Core.IRepositorySelector"/>.</returns>
  10932. <remarks>
  10933. <para>
  10934. Gets an array of all of the repositories created by this selector.
  10935. </para>
  10936. </remarks>
  10937. </member>
  10938. <member name="E:log4net.Core.IRepositorySelector.LoggerRepositoryCreatedEvent">
  10939. <summary>
  10940. Event to notify that a logger repository has been created.
  10941. </summary>
  10942. <value>
  10943. Event to notify that a logger repository has been created.
  10944. </value>
  10945. <remarks>
  10946. <para>
  10947. Event raised when a new repository is created.
  10948. The event source will be this selector. The event args will
  10949. be a <see cref="T:log4net.Core.LoggerRepositoryCreationEventArgs"/> which
  10950. holds the newly created <see cref="T:log4net.Repository.ILoggerRepository"/>.
  10951. </para>
  10952. </remarks>
  10953. </member>
  10954. <member name="T:log4net.Core.ITriggeringEventEvaluator">
  10955. <summary>
  10956. Test if an <see cref="T:log4net.Core.LoggingEvent"/> triggers an action
  10957. </summary>
  10958. <remarks>
  10959. <para>
  10960. Implementations of this interface allow certain appenders to decide
  10961. when to perform an appender specific action.
  10962. </para>
  10963. <para>
  10964. The action or behavior triggered is defined by the implementation.
  10965. </para>
  10966. </remarks>
  10967. <author>Nicko Cadell</author>
  10968. </member>
  10969. <member name="M:log4net.Core.ITriggeringEventEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
  10970. <summary>
  10971. Test if this event triggers the action
  10972. </summary>
  10973. <param name="loggingEvent">The event to check</param>
  10974. <returns><c>true</c> if this event triggers the action, otherwise <c>false</c></returns>
  10975. <remarks>
  10976. <para>
  10977. Return <c>true</c> if this event triggers the action
  10978. </para>
  10979. </remarks>
  10980. </member>
  10981. <member name="T:log4net.Core.Level">
  10982. <summary>
  10983. Defines the default set of levels recognized by the system.
  10984. </summary>
  10985. <remarks>
  10986. <para>
  10987. Each <see cref="T:log4net.Core.LoggingEvent"/> has an associated <see cref="T:log4net.Core.Level"/>.
  10988. </para>
  10989. <para>
  10990. Levels have a numeric <see cref="P:log4net.Core.Level.Value"/> that defines the relative
  10991. ordering between levels. Two Levels with the same <see cref="P:log4net.Core.Level.Value"/>
  10992. are deemed to be equivalent.
  10993. </para>
  10994. <para>
  10995. The levels that are recognized by log4net are set for each <see cref="T:log4net.Repository.ILoggerRepository"/>
  10996. and each repository can have different levels defined. The levels are stored
  10997. in the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/> on the repository. Levels are
  10998. looked up by name from the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>.
  10999. </para>
  11000. <para>
  11001. When logging at level INFO the actual level used is not <see cref="F:log4net.Core.Level.Info"/> but
  11002. the value of <c>LoggerRepository.LevelMap["INFO"]</c>. The default value for this is
  11003. <see cref="F:log4net.Core.Level.Info"/>, but this can be changed by reconfiguring the level map.
  11004. </para>
  11005. <para>
  11006. Each level has a <see cref="P:log4net.Core.Level.DisplayName"/> in addition to its <see cref="P:log4net.Core.Level.Name"/>. The
  11007. <see cref="P:log4net.Core.Level.DisplayName"/> is the string that is written into the output log. By default
  11008. the display name is the same as the level name, but this can be used to alias levels
  11009. or to localize the log output.
  11010. </para>
  11011. <para>
  11012. Some of the predefined levels recognized by the system are:
  11013. </para>
  11014. <list type="bullet">
  11015. <item>
  11016. <description><see cref="F:log4net.Core.Level.Off"/>.</description>
  11017. </item>
  11018. <item>
  11019. <description><see cref="F:log4net.Core.Level.Fatal"/>.</description>
  11020. </item>
  11021. <item>
  11022. <description><see cref="F:log4net.Core.Level.Error"/>.</description>
  11023. </item>
  11024. <item>
  11025. <description><see cref="F:log4net.Core.Level.Warn"/>.</description>
  11026. </item>
  11027. <item>
  11028. <description><see cref="F:log4net.Core.Level.Info"/>.</description>
  11029. </item>
  11030. <item>
  11031. <description><see cref="F:log4net.Core.Level.Debug"/>.</description>
  11032. </item>
  11033. <item>
  11034. <description><see cref="F:log4net.Core.Level.All"/>.</description>
  11035. </item>
  11036. </list>
  11037. </remarks>
  11038. <author>Nicko Cadell</author>
  11039. <author>Gert Driesen</author>
  11040. </member>
  11041. <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String,System.String)">
  11042. <summary>
  11043. Constructor
  11044. </summary>
  11045. <param name="level">Integer value for this level, higher values represent more severe levels.</param>
  11046. <param name="levelName">The string name of this level.</param>
  11047. <param name="displayName">The display name for this level. This may be localized or otherwise different from the name</param>
  11048. <remarks>
  11049. <para>
  11050. Initializes a new instance of the <see cref="T:log4net.Core.Level" /> class with
  11051. the specified level name and value.
  11052. </para>
  11053. </remarks>
  11054. </member>
  11055. <member name="M:log4net.Core.Level.#ctor(System.Int32,System.String)">
  11056. <summary>
  11057. Constructor
  11058. </summary>
  11059. <param name="level">Integer value for this level, higher values represent more severe levels.</param>
  11060. <param name="levelName">The string name of this level.</param>
  11061. <remarks>
  11062. <para>
  11063. Initializes a new instance of the <see cref="T:log4net.Core.Level" /> class with
  11064. the specified level name and value.
  11065. </para>
  11066. </remarks>
  11067. </member>
  11068. <member name="P:log4net.Core.Level.Name">
  11069. <summary>
  11070. Gets the name of this level.
  11071. </summary>
  11072. <value>
  11073. The name of this level.
  11074. </value>
  11075. <remarks>
  11076. <para>
  11077. Gets the name of this level.
  11078. </para>
  11079. </remarks>
  11080. </member>
  11081. <member name="P:log4net.Core.Level.Value">
  11082. <summary>
  11083. Gets the value of this level.
  11084. </summary>
  11085. <value>
  11086. The value of this level.
  11087. </value>
  11088. <remarks>
  11089. <para>
  11090. Gets the value of this level.
  11091. </para>
  11092. </remarks>
  11093. </member>
  11094. <member name="P:log4net.Core.Level.DisplayName">
  11095. <summary>
  11096. Gets the display name of this level.
  11097. </summary>
  11098. <value>
  11099. The display name of this level.
  11100. </value>
  11101. <remarks>
  11102. <para>
  11103. Gets the display name of this level.
  11104. </para>
  11105. </remarks>
  11106. </member>
  11107. <member name="M:log4net.Core.Level.ToString">
  11108. <summary>
  11109. Returns the <see cref="T:System.String" /> representation of the current
  11110. <see cref="T:log4net.Core.Level" />.
  11111. </summary>
  11112. <returns>
  11113. A <see cref="T:System.String" /> representation of the current <see cref="T:log4net.Core.Level" />.
  11114. </returns>
  11115. <remarks>
  11116. <para>
  11117. Returns the level <see cref="P:log4net.Core.Level.Name"/>.
  11118. </para>
  11119. </remarks>
  11120. </member>
  11121. <member name="M:log4net.Core.Level.Equals(System.Object)">
  11122. <summary>
  11123. Compares levels.
  11124. </summary>
  11125. <param name="o">The object to compare against.</param>
  11126. <returns><c>true</c> if the objects are equal.</returns>
  11127. <remarks>
  11128. <para>
  11129. Compares the levels of <see cref="T:log4net.Core.Level" /> instances, and
  11130. defers to base class if the target object is not a <see cref="T:log4net.Core.Level" />
  11131. instance.
  11132. </para>
  11133. </remarks>
  11134. </member>
  11135. <member name="M:log4net.Core.Level.GetHashCode">
  11136. <summary>
  11137. Returns a hash code
  11138. </summary>
  11139. <returns>A hash code for the current <see cref="T:log4net.Core.Level" />.</returns>
  11140. <remarks>
  11141. <para>
  11142. Returns a hash code suitable for use in hashing algorithms and data
  11143. structures like a hash table.
  11144. </para>
  11145. <para>
  11146. Returns the hash code of the level <see cref="P:log4net.Core.Level.Value"/>.
  11147. </para>
  11148. </remarks>
  11149. </member>
  11150. <member name="M:log4net.Core.Level.CompareTo(System.Object)">
  11151. <summary>
  11152. Compares this instance to a specified object and returns an
  11153. indication of their relative values.
  11154. </summary>
  11155. <param name="r">A <see cref="T:log4net.Core.Level"/> instance or <see langword="null" /> to compare with this instance.</param>
  11156. <returns>
  11157. A 32-bit signed integer that indicates the relative order of the
  11158. values compared. The return value has these meanings:
  11159. <list type="table">
  11160. <listheader>
  11161. <term>Value</term>
  11162. <description>Meaning</description>
  11163. </listheader>
  11164. <item>
  11165. <term>Less than zero</term>
  11166. <description>This instance is less than <paramref name="r" />.</description>
  11167. </item>
  11168. <item>
  11169. <term>Zero</term>
  11170. <description>This instance is equal to <paramref name="r" />.</description>
  11171. </item>
  11172. <item>
  11173. <term>Greater than zero</term>
  11174. <description>
  11175. <para>This instance is greater than <paramref name="r" />.</para>
  11176. <para>-or-</para>
  11177. <para><paramref name="r" /> is <see langword="null" />.</para>
  11178. </description>
  11179. </item>
  11180. </list>
  11181. </returns>
  11182. <remarks>
  11183. <para>
  11184. <paramref name="r" /> must be an instance of <see cref="T:log4net.Core.Level" />
  11185. or <see langword="null" />; otherwise, an exception is thrown.
  11186. </para>
  11187. </remarks>
  11188. <exception cref="T:System.ArgumentException"><paramref name="r" /> is not a <see cref="T:log4net.Core.Level" />.</exception>
  11189. </member>
  11190. <member name="M:log4net.Core.Level.op_GreaterThan(log4net.Core.Level,log4net.Core.Level)">
  11191. <summary>
  11192. Returns a value indicating whether a specified <see cref="T:log4net.Core.Level" />
  11193. is greater than another specified <see cref="T:log4net.Core.Level" />.
  11194. </summary>
  11195. <param name="l">A <see cref="T:log4net.Core.Level" /></param>
  11196. <param name="r">A <see cref="T:log4net.Core.Level" /></param>
  11197. <returns>
  11198. <c>true</c> if <paramref name="l" /> is greater than
  11199. <paramref name="r" />; otherwise, <c>false</c>.
  11200. </returns>
  11201. <remarks>
  11202. <para>
  11203. Compares two levels.
  11204. </para>
  11205. </remarks>
  11206. </member>
  11207. <member name="M:log4net.Core.Level.op_LessThan(log4net.Core.Level,log4net.Core.Level)">
  11208. <summary>
  11209. Returns a value indicating whether a specified <see cref="T:log4net.Core.Level" />
  11210. is less than another specified <see cref="T:log4net.Core.Level" />.
  11211. </summary>
  11212. <param name="l">A <see cref="T:log4net.Core.Level" /></param>
  11213. <param name="r">A <see cref="T:log4net.Core.Level" /></param>
  11214. <returns>
  11215. <c>true</c> if <paramref name="l" /> is less than
  11216. <paramref name="r" />; otherwise, <c>false</c>.
  11217. </returns>
  11218. <remarks>
  11219. <para>
  11220. Compares two levels.
  11221. </para>
  11222. </remarks>
  11223. </member>
  11224. <member name="M:log4net.Core.Level.op_GreaterThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
  11225. <summary>
  11226. Returns a value indicating whether a specified <see cref="T:log4net.Core.Level" />
  11227. is greater than or equal to another specified <see cref="T:log4net.Core.Level" />.
  11228. </summary>
  11229. <param name="l">A <see cref="T:log4net.Core.Level" /></param>
  11230. <param name="r">A <see cref="T:log4net.Core.Level" /></param>
  11231. <returns>
  11232. <c>true</c> if <paramref name="l" /> is greater than or equal to
  11233. <paramref name="r" />; otherwise, <c>false</c>.
  11234. </returns>
  11235. <remarks>
  11236. <para>
  11237. Compares two levels.
  11238. </para>
  11239. </remarks>
  11240. </member>
  11241. <member name="M:log4net.Core.Level.op_LessThanOrEqual(log4net.Core.Level,log4net.Core.Level)">
  11242. <summary>
  11243. Returns a value indicating whether a specified <see cref="T:log4net.Core.Level" />
  11244. is less than or equal to another specified <see cref="T:log4net.Core.Level" />.
  11245. </summary>
  11246. <param name="l">A <see cref="T:log4net.Core.Level" /></param>
  11247. <param name="r">A <see cref="T:log4net.Core.Level" /></param>
  11248. <returns>
  11249. <c>true</c> if <paramref name="l" /> is less than or equal to
  11250. <paramref name="r" />; otherwise, <c>false</c>.
  11251. </returns>
  11252. <remarks>
  11253. <para>
  11254. Compares two levels.
  11255. </para>
  11256. </remarks>
  11257. </member>
  11258. <member name="M:log4net.Core.Level.op_Equality(log4net.Core.Level,log4net.Core.Level)">
  11259. <summary>
  11260. Returns a value indicating whether two specified <see cref="T:log4net.Core.Level" />
  11261. objects have the same value.
  11262. </summary>
  11263. <param name="l">A <see cref="T:log4net.Core.Level" /> or <see langword="null" />.</param>
  11264. <param name="r">A <see cref="T:log4net.Core.Level" /> or <see langword="null" />.</param>
  11265. <returns>
  11266. <c>true</c> if the value of <paramref name="l" /> is the same as the
  11267. value of <paramref name="r" />; otherwise, <c>false</c>.
  11268. </returns>
  11269. <remarks>
  11270. <para>
  11271. Compares two levels.
  11272. </para>
  11273. </remarks>
  11274. </member>
  11275. <member name="M:log4net.Core.Level.op_Inequality(log4net.Core.Level,log4net.Core.Level)">
  11276. <summary>
  11277. Returns a value indicating whether two specified <see cref="T:log4net.Core.Level" />
  11278. objects have different values.
  11279. </summary>
  11280. <param name="l">A <see cref="T:log4net.Core.Level" /> or <see langword="null" />.</param>
  11281. <param name="r">A <see cref="T:log4net.Core.Level" /> or <see langword="null" />.</param>
  11282. <returns>
  11283. <c>true</c> if the value of <paramref name="l" /> is different from
  11284. the value of <paramref name="r" />; otherwise, <c>false</c>.
  11285. </returns>
  11286. <remarks>
  11287. <para>
  11288. Compares two levels.
  11289. </para>
  11290. </remarks>
  11291. </member>
  11292. <member name="M:log4net.Core.Level.Compare(log4net.Core.Level,log4net.Core.Level)">
  11293. <summary>
  11294. Compares two specified <see cref="T:log4net.Core.Level"/> instances.
  11295. </summary>
  11296. <param name="l">The first <see cref="T:log4net.Core.Level"/> to compare.</param>
  11297. <param name="r">The second <see cref="T:log4net.Core.Level"/> to compare.</param>
  11298. <returns>
  11299. A 32-bit signed integer that indicates the relative order of the
  11300. two values compared. The return value has these meanings:
  11301. <list type="table">
  11302. <listheader>
  11303. <term>Value</term>
  11304. <description>Meaning</description>
  11305. </listheader>
  11306. <item>
  11307. <term>Less than zero</term>
  11308. <description><paramref name="l" /> is less than <paramref name="r" />.</description>
  11309. </item>
  11310. <item>
  11311. <term>Zero</term>
  11312. <description><paramref name="l" /> is equal to <paramref name="r" />.</description>
  11313. </item>
  11314. <item>
  11315. <term>Greater than zero</term>
  11316. <description><paramref name="l" /> is greater than <paramref name="r" />.</description>
  11317. </item>
  11318. </list>
  11319. </returns>
  11320. <remarks>
  11321. <para>
  11322. Compares two levels.
  11323. </para>
  11324. </remarks>
  11325. </member>
  11326. <member name="F:log4net.Core.Level.Off">
  11327. <summary>
  11328. The <see cref="F:log4net.Core.Level.Off" /> level designates a higher level than all the rest.
  11329. </summary>
  11330. </member>
  11331. <member name="F:log4net.Core.Level.Log4Net_Debug">
  11332. <summary>
  11333. The <see cref="F:log4net.Core.Level.Emergency" /> level designates very severe error events.
  11334. System unusable, emergencies.
  11335. </summary>
  11336. </member>
  11337. <member name="F:log4net.Core.Level.Emergency">
  11338. <summary>
  11339. The <see cref="F:log4net.Core.Level.Emergency" /> level designates very severe error events.
  11340. System unusable, emergencies.
  11341. </summary>
  11342. </member>
  11343. <member name="F:log4net.Core.Level.Fatal">
  11344. <summary>
  11345. The <see cref="F:log4net.Core.Level.Fatal" /> level designates very severe error events
  11346. that will presumably lead the application to abort.
  11347. </summary>
  11348. </member>
  11349. <member name="F:log4net.Core.Level.Alert">
  11350. <summary>
  11351. The <see cref="F:log4net.Core.Level.Alert" /> level designates very severe error events.
  11352. Take immediate action, alerts.
  11353. </summary>
  11354. </member>
  11355. <member name="F:log4net.Core.Level.Critical">
  11356. <summary>
  11357. The <see cref="F:log4net.Core.Level.Critical" /> level designates very severe error events.
  11358. Critical condition, critical.
  11359. </summary>
  11360. </member>
  11361. <member name="F:log4net.Core.Level.Severe">
  11362. <summary>
  11363. The <see cref="F:log4net.Core.Level.Severe" /> level designates very severe error events.
  11364. </summary>
  11365. </member>
  11366. <member name="F:log4net.Core.Level.Error">
  11367. <summary>
  11368. The <see cref="F:log4net.Core.Level.Error" /> level designates error events that might
  11369. still allow the application to continue running.
  11370. </summary>
  11371. </member>
  11372. <member name="F:log4net.Core.Level.Warn">
  11373. <summary>
  11374. The <see cref="F:log4net.Core.Level.Warn" /> level designates potentially harmful
  11375. situations.
  11376. </summary>
  11377. </member>
  11378. <member name="F:log4net.Core.Level.Notice">
  11379. <summary>
  11380. The <see cref="F:log4net.Core.Level.Notice" /> level designates informational messages
  11381. that highlight the progress of the application at the highest level.
  11382. </summary>
  11383. </member>
  11384. <member name="F:log4net.Core.Level.Info">
  11385. <summary>
  11386. The <see cref="F:log4net.Core.Level.Info" /> level designates informational messages that
  11387. highlight the progress of the application at coarse-grained level.
  11388. </summary>
  11389. </member>
  11390. <member name="F:log4net.Core.Level.Debug">
  11391. <summary>
  11392. The <see cref="F:log4net.Core.Level.Debug" /> level designates fine-grained informational
  11393. events that are most useful to debug an application.
  11394. </summary>
  11395. </member>
  11396. <member name="F:log4net.Core.Level.Fine">
  11397. <summary>
  11398. The <see cref="F:log4net.Core.Level.Fine" /> level designates fine-grained informational
  11399. events that are most useful to debug an application.
  11400. </summary>
  11401. </member>
  11402. <member name="F:log4net.Core.Level.Trace">
  11403. <summary>
  11404. The <see cref="F:log4net.Core.Level.Trace" /> level designates fine-grained informational
  11405. events that are most useful to debug an application.
  11406. </summary>
  11407. </member>
  11408. <member name="F:log4net.Core.Level.Finer">
  11409. <summary>
  11410. The <see cref="F:log4net.Core.Level.Finer" /> level designates fine-grained informational
  11411. events that are most useful to debug an application.
  11412. </summary>
  11413. </member>
  11414. <member name="F:log4net.Core.Level.Verbose">
  11415. <summary>
  11416. The <see cref="F:log4net.Core.Level.Verbose" /> level designates fine-grained informational
  11417. events that are most useful to debug an application.
  11418. </summary>
  11419. </member>
  11420. <member name="F:log4net.Core.Level.Finest">
  11421. <summary>
  11422. The <see cref="F:log4net.Core.Level.Finest" /> level designates fine-grained informational
  11423. events that are most useful to debug an application.
  11424. </summary>
  11425. </member>
  11426. <member name="F:log4net.Core.Level.All">
  11427. <summary>
  11428. The <see cref="F:log4net.Core.Level.All" /> level designates the lowest level possible.
  11429. </summary>
  11430. </member>
  11431. <member name="T:log4net.Core.LevelCollection">
  11432. <summary>
  11433. A strongly-typed collection of <see cref="T:log4net.Core.Level"/> objects.
  11434. </summary>
  11435. <author>Nicko Cadell</author>
  11436. </member>
  11437. <member name="T:log4net.Core.LevelCollection.ILevelCollectionEnumerator">
  11438. <summary>
  11439. Supports type-safe iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
  11440. </summary>
  11441. </member>
  11442. <member name="P:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Current">
  11443. <summary>
  11444. Gets the current element in the collection.
  11445. </summary>
  11446. </member>
  11447. <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.MoveNext">
  11448. <summary>
  11449. Advances the enumerator to the next element in the collection.
  11450. </summary>
  11451. <returns>
  11452. <c>true</c> if the enumerator was successfully advanced to the next element;
  11453. <c>false</c> if the enumerator has passed the end of the collection.
  11454. </returns>
  11455. <exception cref="T:System.InvalidOperationException">
  11456. The collection was modified after the enumerator was created.
  11457. </exception>
  11458. </member>
  11459. <member name="M:log4net.Core.LevelCollection.ILevelCollectionEnumerator.Reset">
  11460. <summary>
  11461. Sets the enumerator to its initial position, before the first element in the collection.
  11462. </summary>
  11463. </member>
  11464. <member name="M:log4net.Core.LevelCollection.ReadOnly(log4net.Core.LevelCollection)">
  11465. <summary>
  11466. Creates a read-only wrapper for a <c>LevelCollection</c> instance.
  11467. </summary>
  11468. <param name="list">list to create a readonly wrapper arround</param>
  11469. <returns>
  11470. A <c>LevelCollection</c> wrapper that is read-only.
  11471. </returns>
  11472. </member>
  11473. <member name="M:log4net.Core.LevelCollection.#ctor">
  11474. <summary>
  11475. Initializes a new instance of the <c>LevelCollection</c> class
  11476. that is empty and has the default initial capacity.
  11477. </summary>
  11478. </member>
  11479. <member name="M:log4net.Core.LevelCollection.#ctor(System.Int32)">
  11480. <summary>
  11481. Initializes a new instance of the <c>LevelCollection</c> class
  11482. that has the specified initial capacity.
  11483. </summary>
  11484. <param name="capacity">
  11485. The number of elements that the new <c>LevelCollection</c> is initially capable of storing.
  11486. </param>
  11487. </member>
  11488. <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection)">
  11489. <summary>
  11490. Initializes a new instance of the <c>LevelCollection</c> class
  11491. that contains elements copied from the specified <c>LevelCollection</c>.
  11492. </summary>
  11493. <param name="c">The <c>LevelCollection</c> whose elements are copied to the new collection.</param>
  11494. </member>
  11495. <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.Level[])">
  11496. <summary>
  11497. Initializes a new instance of the <c>LevelCollection</c> class
  11498. that contains elements copied from the specified <see cref="T:log4net.Core.Level"/> array.
  11499. </summary>
  11500. <param name="a">The <see cref="T:log4net.Core.Level"/> array whose elements are copied to the new list.</param>
  11501. </member>
  11502. <member name="M:log4net.Core.LevelCollection.#ctor(System.Collections.ICollection)">
  11503. <summary>
  11504. Initializes a new instance of the <c>LevelCollection</c> class
  11505. that contains elements copied from the specified <see cref="T:log4net.Core.Level"/> collection.
  11506. </summary>
  11507. <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements are copied to the new list.</param>
  11508. </member>
  11509. <member name="T:log4net.Core.LevelCollection.Tag">
  11510. <summary>
  11511. Type visible only to our subclasses
  11512. Used to access protected constructor
  11513. </summary>
  11514. </member>
  11515. <member name="F:log4net.Core.LevelCollection.Tag.Default">
  11516. <summary>
  11517. A value
  11518. </summary>
  11519. </member>
  11520. <member name="M:log4net.Core.LevelCollection.#ctor(log4net.Core.LevelCollection.Tag)">
  11521. <summary>
  11522. Allow subclasses to avoid our default constructors
  11523. </summary>
  11524. <param name="tag"></param>
  11525. </member>
  11526. <member name="P:log4net.Core.LevelCollection.Count">
  11527. <summary>
  11528. Gets the number of elements actually contained in the <c>LevelCollection</c>.
  11529. </summary>
  11530. </member>
  11531. <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[])">
  11532. <summary>
  11533. Copies the entire <c>LevelCollection</c> to a one-dimensional
  11534. <see cref="T:log4net.Core.Level"/> array.
  11535. </summary>
  11536. <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
  11537. </member>
  11538. <member name="M:log4net.Core.LevelCollection.CopyTo(log4net.Core.Level[],System.Int32)">
  11539. <summary>
  11540. Copies the entire <c>LevelCollection</c> to a one-dimensional
  11541. <see cref="T:log4net.Core.Level"/> array, starting at the specified index of the target array.
  11542. </summary>
  11543. <param name="array">The one-dimensional <see cref="T:log4net.Core.Level"/> array to copy to.</param>
  11544. <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
  11545. </member>
  11546. <member name="P:log4net.Core.LevelCollection.IsSynchronized">
  11547. <summary>
  11548. Gets a value indicating whether access to the collection is synchronized (thread-safe).
  11549. </summary>
  11550. <returns>false, because the backing type is an array, which is never thread-safe.</returns>
  11551. </member>
  11552. <member name="P:log4net.Core.LevelCollection.SyncRoot">
  11553. <summary>
  11554. Gets an object that can be used to synchronize access to the collection.
  11555. </summary>
  11556. </member>
  11557. <member name="P:log4net.Core.LevelCollection.Item(System.Int32)">
  11558. <summary>
  11559. Gets or sets the <see cref="T:log4net.Core.Level"/> at the specified index.
  11560. </summary>
  11561. <param name="index">The zero-based index of the element to get or set.</param>
  11562. <exception cref="T:System.ArgumentOutOfRangeException">
  11563. <para><paramref name="index"/> is less than zero</para>
  11564. <para>-or-</para>
  11565. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
  11566. </exception>
  11567. </member>
  11568. <member name="M:log4net.Core.LevelCollection.Add(log4net.Core.Level)">
  11569. <summary>
  11570. Adds a <see cref="T:log4net.Core.Level"/> to the end of the <c>LevelCollection</c>.
  11571. </summary>
  11572. <param name="item">The <see cref="T:log4net.Core.Level"/> to be added to the end of the <c>LevelCollection</c>.</param>
  11573. <returns>The index at which the value has been added.</returns>
  11574. </member>
  11575. <member name="M:log4net.Core.LevelCollection.Clear">
  11576. <summary>
  11577. Removes all elements from the <c>LevelCollection</c>.
  11578. </summary>
  11579. </member>
  11580. <member name="M:log4net.Core.LevelCollection.Clone">
  11581. <summary>
  11582. Creates a shallow copy of the <see cref="T:log4net.Core.LevelCollection"/>.
  11583. </summary>
  11584. <returns>A new <see cref="T:log4net.Core.LevelCollection"/> with a shallow copy of the collection data.</returns>
  11585. </member>
  11586. <member name="M:log4net.Core.LevelCollection.Contains(log4net.Core.Level)">
  11587. <summary>
  11588. Determines whether a given <see cref="T:log4net.Core.Level"/> is in the <c>LevelCollection</c>.
  11589. </summary>
  11590. <param name="item">The <see cref="T:log4net.Core.Level"/> to check for.</param>
  11591. <returns><c>true</c> if <paramref name="item"/> is found in the <c>LevelCollection</c>; otherwise, <c>false</c>.</returns>
  11592. </member>
  11593. <member name="M:log4net.Core.LevelCollection.IndexOf(log4net.Core.Level)">
  11594. <summary>
  11595. Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Core.Level"/>
  11596. in the <c>LevelCollection</c>.
  11597. </summary>
  11598. <param name="item">The <see cref="T:log4net.Core.Level"/> to locate in the <c>LevelCollection</c>.</param>
  11599. <returns>
  11600. The zero-based index of the first occurrence of <paramref name="item"/>
  11601. in the entire <c>LevelCollection</c>, if found; otherwise, -1.
  11602. </returns>
  11603. </member>
  11604. <member name="M:log4net.Core.LevelCollection.Insert(System.Int32,log4net.Core.Level)">
  11605. <summary>
  11606. Inserts an element into the <c>LevelCollection</c> at the specified index.
  11607. </summary>
  11608. <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
  11609. <param name="item">The <see cref="T:log4net.Core.Level"/> to insert.</param>
  11610. <exception cref="T:System.ArgumentOutOfRangeException">
  11611. <para><paramref name="index"/> is less than zero</para>
  11612. <para>-or-</para>
  11613. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
  11614. </exception>
  11615. </member>
  11616. <member name="M:log4net.Core.LevelCollection.Remove(log4net.Core.Level)">
  11617. <summary>
  11618. Removes the first occurrence of a specific <see cref="T:log4net.Core.Level"/> from the <c>LevelCollection</c>.
  11619. </summary>
  11620. <param name="item">The <see cref="T:log4net.Core.Level"/> to remove from the <c>LevelCollection</c>.</param>
  11621. <exception cref="T:System.ArgumentException">
  11622. The specified <see cref="T:log4net.Core.Level"/> was not found in the <c>LevelCollection</c>.
  11623. </exception>
  11624. </member>
  11625. <member name="M:log4net.Core.LevelCollection.RemoveAt(System.Int32)">
  11626. <summary>
  11627. Removes the element at the specified index of the <c>LevelCollection</c>.
  11628. </summary>
  11629. <param name="index">The zero-based index of the element to remove.</param>
  11630. <exception cref="T:System.ArgumentOutOfRangeException">
  11631. <para><paramref name="index"/> is less than zero</para>
  11632. <para>-or-</para>
  11633. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
  11634. </exception>
  11635. </member>
  11636. <member name="P:log4net.Core.LevelCollection.IsFixedSize">
  11637. <summary>
  11638. Gets a value indicating whether the collection has a fixed size.
  11639. </summary>
  11640. <value>true if the collection has a fixed size; otherwise, false. The default is false</value>
  11641. </member>
  11642. <member name="P:log4net.Core.LevelCollection.IsReadOnly">
  11643. <summary>
  11644. Gets a value indicating whether the IList is read-only.
  11645. </summary>
  11646. <value>true if the collection is read-only; otherwise, false. The default is false</value>
  11647. </member>
  11648. <member name="M:log4net.Core.LevelCollection.GetEnumerator">
  11649. <summary>
  11650. Returns an enumerator that can iterate through the <c>LevelCollection</c>.
  11651. </summary>
  11652. <returns>An <see cref="T:log4net.Core.LevelCollection.Enumerator"/> for the entire <c>LevelCollection</c>.</returns>
  11653. </member>
  11654. <member name="P:log4net.Core.LevelCollection.Capacity">
  11655. <summary>
  11656. Gets or sets the number of elements the <c>LevelCollection</c> can contain.
  11657. </summary>
  11658. </member>
  11659. <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.LevelCollection)">
  11660. <summary>
  11661. Adds the elements of another <c>LevelCollection</c> to the current <c>LevelCollection</c>.
  11662. </summary>
  11663. <param name="x">The <c>LevelCollection</c> whose elements should be added to the end of the current <c>LevelCollection</c>.</param>
  11664. <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
  11665. </member>
  11666. <member name="M:log4net.Core.LevelCollection.AddRange(log4net.Core.Level[])">
  11667. <summary>
  11668. Adds the elements of a <see cref="T:log4net.Core.Level"/> array to the current <c>LevelCollection</c>.
  11669. </summary>
  11670. <param name="x">The <see cref="T:log4net.Core.Level"/> array whose elements should be added to the end of the <c>LevelCollection</c>.</param>
  11671. <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
  11672. </member>
  11673. <member name="M:log4net.Core.LevelCollection.AddRange(System.Collections.ICollection)">
  11674. <summary>
  11675. Adds the elements of a <see cref="T:log4net.Core.Level"/> collection to the current <c>LevelCollection</c>.
  11676. </summary>
  11677. <param name="col">The <see cref="T:log4net.Core.Level"/> collection whose elements should be added to the end of the <c>LevelCollection</c>.</param>
  11678. <returns>The new <see cref="P:log4net.Core.LevelCollection.Count"/> of the <c>LevelCollection</c>.</returns>
  11679. </member>
  11680. <member name="M:log4net.Core.LevelCollection.TrimToSize">
  11681. <summary>
  11682. Sets the capacity to the actual number of elements.
  11683. </summary>
  11684. </member>
  11685. <member name="M:log4net.Core.LevelCollection.ValidateIndex(System.Int32)">
  11686. <exception cref="T:System.ArgumentOutOfRangeException">
  11687. <para><paramref name="i"/> is less than zero</para>
  11688. <para>-or-</para>
  11689. <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
  11690. </exception>
  11691. </member>
  11692. <member name="M:log4net.Core.LevelCollection.ValidateIndex(System.Int32,System.Boolean)">
  11693. <exception cref="T:System.ArgumentOutOfRangeException">
  11694. <para><paramref name="i"/> is less than zero</para>
  11695. <para>-or-</para>
  11696. <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Core.LevelCollection.Count"/>.</para>
  11697. </exception>
  11698. </member>
  11699. <member name="T:log4net.Core.LevelCollection.Enumerator">
  11700. <summary>
  11701. Supports simple iteration over a <see cref="T:log4net.Core.LevelCollection"/>.
  11702. </summary>
  11703. </member>
  11704. <member name="M:log4net.Core.LevelCollection.Enumerator.#ctor(log4net.Core.LevelCollection)">
  11705. <summary>
  11706. Initializes a new instance of the <c>Enumerator</c> class.
  11707. </summary>
  11708. <param name="tc"></param>
  11709. </member>
  11710. <member name="P:log4net.Core.LevelCollection.Enumerator.Current">
  11711. <summary>
  11712. Gets the current element in the collection.
  11713. </summary>
  11714. </member>
  11715. <member name="M:log4net.Core.LevelCollection.Enumerator.MoveNext">
  11716. <summary>
  11717. Advances the enumerator to the next element in the collection.
  11718. </summary>
  11719. <returns>
  11720. <c>true</c> if the enumerator was successfully advanced to the next element;
  11721. <c>false</c> if the enumerator has passed the end of the collection.
  11722. </returns>
  11723. <exception cref="T:System.InvalidOperationException">
  11724. The collection was modified after the enumerator was created.
  11725. </exception>
  11726. </member>
  11727. <member name="M:log4net.Core.LevelCollection.Enumerator.Reset">
  11728. <summary>
  11729. Sets the enumerator to its initial position, before the first element in the collection.
  11730. </summary>
  11731. </member>
  11732. <member name="T:log4net.Core.LevelEvaluator">
  11733. <summary>
  11734. An evaluator that triggers at a threshold level
  11735. </summary>
  11736. <remarks>
  11737. <para>
  11738. This evaluator will trigger if the level of the event
  11739. passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
  11740. is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
  11741. level.
  11742. </para>
  11743. </remarks>
  11744. <author>Nicko Cadell</author>
  11745. </member>
  11746. <member name="F:log4net.Core.LevelEvaluator.m_threshold">
  11747. <summary>
  11748. The threshold for triggering
  11749. </summary>
  11750. </member>
  11751. <member name="M:log4net.Core.LevelEvaluator.#ctor">
  11752. <summary>
  11753. Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
  11754. </summary>
  11755. <remarks>
  11756. <para>
  11757. Create a new evaluator using the <see cref="F:log4net.Core.Level.Off"/> threshold.
  11758. </para>
  11759. <para>
  11760. This evaluator will trigger if the level of the event
  11761. passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
  11762. is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
  11763. level.
  11764. </para>
  11765. </remarks>
  11766. </member>
  11767. <member name="M:log4net.Core.LevelEvaluator.#ctor(log4net.Core.Level)">
  11768. <summary>
  11769. Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
  11770. </summary>
  11771. <param name="threshold">the threshold to trigger at</param>
  11772. <remarks>
  11773. <para>
  11774. Create a new evaluator using the specified <see cref="T:log4net.Core.Level"/> threshold.
  11775. </para>
  11776. <para>
  11777. This evaluator will trigger if the level of the event
  11778. passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
  11779. is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
  11780. level.
  11781. </para>
  11782. </remarks>
  11783. </member>
  11784. <member name="P:log4net.Core.LevelEvaluator.Threshold">
  11785. <summary>
  11786. the threshold to trigger at
  11787. </summary>
  11788. <value>
  11789. The <see cref="T:log4net.Core.Level"/> that will cause this evaluator to trigger
  11790. </value>
  11791. <remarks>
  11792. <para>
  11793. This evaluator will trigger if the level of the event
  11794. passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
  11795. is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
  11796. level.
  11797. </para>
  11798. </remarks>
  11799. </member>
  11800. <member name="M:log4net.Core.LevelEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
  11801. <summary>
  11802. Is this <paramref name="loggingEvent"/> the triggering event?
  11803. </summary>
  11804. <param name="loggingEvent">The event to check</param>
  11805. <returns>This method returns <c>true</c>, if the event level
  11806. is equal or higher than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>.
  11807. Otherwise it returns <c>false</c></returns>
  11808. <remarks>
  11809. <para>
  11810. This evaluator will trigger if the level of the event
  11811. passed to <see cref="M:IsTriggeringEvent(LoggingEvent)"/>
  11812. is equal to or greater than the <see cref="P:log4net.Core.LevelEvaluator.Threshold"/>
  11813. level.
  11814. </para>
  11815. </remarks>
  11816. </member>
  11817. <member name="T:log4net.Core.LevelMap">
  11818. <summary>
  11819. Mapping between string name and Level object
  11820. </summary>
  11821. <remarks>
  11822. <para>
  11823. Mapping between string name and <see cref="T:log4net.Core.Level"/> object.
  11824. This mapping is held separately for each <see cref="T:log4net.Repository.ILoggerRepository"/>.
  11825. The level name is case insensitive.
  11826. </para>
  11827. </remarks>
  11828. <author>Nicko Cadell</author>
  11829. </member>
  11830. <member name="F:log4net.Core.LevelMap.m_mapName2Level">
  11831. <summary>
  11832. Mapping from level name to Level object. The
  11833. level name is case insensitive
  11834. </summary>
  11835. </member>
  11836. <member name="M:log4net.Core.LevelMap.#ctor">
  11837. <summary>
  11838. Construct the level map
  11839. </summary>
  11840. <remarks>
  11841. <para>
  11842. Construct the level map.
  11843. </para>
  11844. </remarks>
  11845. </member>
  11846. <member name="M:log4net.Core.LevelMap.Clear">
  11847. <summary>
  11848. Clear the internal maps of all levels
  11849. </summary>
  11850. <remarks>
  11851. <para>
  11852. Clear the internal maps of all levels
  11853. </para>
  11854. </remarks>
  11855. </member>
  11856. <member name="P:log4net.Core.LevelMap.Item(System.String)">
  11857. <summary>
  11858. Lookup a <see cref="T:log4net.Core.Level"/> by name
  11859. </summary>
  11860. <param name="name">The name of the Level to lookup</param>
  11861. <returns>a Level from the map with the name specified</returns>
  11862. <remarks>
  11863. <para>
  11864. Returns the <see cref="T:log4net.Core.Level"/> from the
  11865. map with the name specified. If the no level is
  11866. found then <c>null</c> is returned.
  11867. </para>
  11868. </remarks>
  11869. </member>
  11870. <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32)">
  11871. <summary>
  11872. Create a new Level and add it to the map
  11873. </summary>
  11874. <param name="name">the string to display for the Level</param>
  11875. <param name="value">the level value to give to the Level</param>
  11876. <remarks>
  11877. <para>
  11878. Create a new Level and add it to the map
  11879. </para>
  11880. </remarks>
  11881. <seealso cref="M:Add(string,int,string)"/>
  11882. </member>
  11883. <member name="M:log4net.Core.LevelMap.Add(System.String,System.Int32,System.String)">
  11884. <summary>
  11885. Create a new Level and add it to the map
  11886. </summary>
  11887. <param name="name">the string to display for the Level</param>
  11888. <param name="value">the level value to give to the Level</param>
  11889. <param name="displayName">the display name to give to the Level</param>
  11890. <remarks>
  11891. <para>
  11892. Create a new Level and add it to the map
  11893. </para>
  11894. </remarks>
  11895. </member>
  11896. <member name="M:log4net.Core.LevelMap.Add(log4net.Core.Level)">
  11897. <summary>
  11898. Add a Level to the map
  11899. </summary>
  11900. <param name="level">the Level to add</param>
  11901. <remarks>
  11902. <para>
  11903. Add a Level to the map
  11904. </para>
  11905. </remarks>
  11906. </member>
  11907. <member name="P:log4net.Core.LevelMap.AllLevels">
  11908. <summary>
  11909. Return all possible levels as a list of Level objects.
  11910. </summary>
  11911. <returns>all possible levels as a list of Level objects</returns>
  11912. <remarks>
  11913. <para>
  11914. Return all possible levels as a list of Level objects.
  11915. </para>
  11916. </remarks>
  11917. </member>
  11918. <member name="M:log4net.Core.LevelMap.LookupWithDefault(log4net.Core.Level)">
  11919. <summary>
  11920. Lookup a named level from the map
  11921. </summary>
  11922. <param name="defaultLevel">the name of the level to lookup is taken from this level.
  11923. If the level is not set on the map then this level is added</param>
  11924. <returns>the level in the map with the name specified</returns>
  11925. <remarks>
  11926. <para>
  11927. Lookup a named level from the map. The name of the level to lookup is taken
  11928. from the <see cref="P:log4net.Core.Level.Name"/> property of the <paramref name="defaultLevel"/>
  11929. argument.
  11930. </para>
  11931. <para>
  11932. If no level with the specified name is found then the
  11933. <paramref name="defaultLevel"/> argument is added to the level map
  11934. and returned.
  11935. </para>
  11936. </remarks>
  11937. </member>
  11938. <member name="T:log4net.Core.LocationInfo">
  11939. <summary>
  11940. The internal representation of caller location information.
  11941. </summary>
  11942. <remarks>
  11943. <para>
  11944. This class uses the <c>System.Diagnostics.StackTrace</c> class to generate
  11945. a call stack. The caller's information is then extracted from this stack.
  11946. </para>
  11947. <para>
  11948. The <c>System.Diagnostics.StackTrace</c> class is not supported on the
  11949. .NET Compact Framework 1.0 therefore caller location information is not
  11950. available on that framework.
  11951. </para>
  11952. <para>
  11953. The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
  11954. </para>
  11955. <para>
  11956. "StackTrace information will be most informative with Debug build configurations.
  11957. By default, Debug builds include debug symbols, while Release builds do not. The
  11958. debug symbols contain most of the file, method name, line number, and column
  11959. information used in constructing StackFrame and StackTrace objects. StackTrace
  11960. might not report as many method calls as expected, due to code transformations
  11961. that occur during optimization."
  11962. </para>
  11963. <para>
  11964. This means that in a Release build the caller information may be incomplete or may
  11965. not exist at all! Therefore caller location information cannot be relied upon in a Release build.
  11966. </para>
  11967. </remarks>
  11968. <author>Nicko Cadell</author>
  11969. <author>Gert Driesen</author>
  11970. </member>
  11971. <member name="M:log4net.Core.LocationInfo.#ctor(System.Type)">
  11972. <summary>
  11973. Constructor
  11974. </summary>
  11975. <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
  11976. the stack boundary into the logging system for this call.</param>
  11977. <remarks>
  11978. <para>
  11979. Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo" />
  11980. class based on the current thread.
  11981. </para>
  11982. </remarks>
  11983. </member>
  11984. <member name="M:log4net.Core.LocationInfo.#ctor(System.String,System.String,System.String,System.String)">
  11985. <summary>
  11986. Constructor
  11987. </summary>
  11988. <param name="className">The fully qualified class name.</param>
  11989. <param name="methodName">The method name.</param>
  11990. <param name="fileName">The file name.</param>
  11991. <param name="lineNumber">The line number of the method within the file.</param>
  11992. <remarks>
  11993. <para>
  11994. Initializes a new instance of the <see cref="T:log4net.Core.LocationInfo" />
  11995. class with the specified data.
  11996. </para>
  11997. </remarks>
  11998. </member>
  11999. <member name="P:log4net.Core.LocationInfo.ClassName">
  12000. <summary>
  12001. Gets the fully qualified class name of the caller making the logging
  12002. request.
  12003. </summary>
  12004. <value>
  12005. The fully qualified class name of the caller making the logging
  12006. request.
  12007. </value>
  12008. <remarks>
  12009. <para>
  12010. Gets the fully qualified class name of the caller making the logging
  12011. request.
  12012. </para>
  12013. </remarks>
  12014. </member>
  12015. <member name="P:log4net.Core.LocationInfo.FileName">
  12016. <summary>
  12017. Gets the file name of the caller.
  12018. </summary>
  12019. <value>
  12020. The file name of the caller.
  12021. </value>
  12022. <remarks>
  12023. <para>
  12024. Gets the file name of the caller.
  12025. </para>
  12026. </remarks>
  12027. </member>
  12028. <member name="P:log4net.Core.LocationInfo.LineNumber">
  12029. <summary>
  12030. Gets the line number of the caller.
  12031. </summary>
  12032. <value>
  12033. The line number of the caller.
  12034. </value>
  12035. <remarks>
  12036. <para>
  12037. Gets the line number of the caller.
  12038. </para>
  12039. </remarks>
  12040. </member>
  12041. <member name="P:log4net.Core.LocationInfo.MethodName">
  12042. <summary>
  12043. Gets the method name of the caller.
  12044. </summary>
  12045. <value>
  12046. The method name of the caller.
  12047. </value>
  12048. <remarks>
  12049. <para>
  12050. Gets the method name of the caller.
  12051. </para>
  12052. </remarks>
  12053. </member>
  12054. <member name="P:log4net.Core.LocationInfo.FullInfo">
  12055. <summary>
  12056. Gets all available caller information
  12057. </summary>
  12058. <value>
  12059. All available caller information, in the format
  12060. <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
  12061. </value>
  12062. <remarks>
  12063. <para>
  12064. Gets all available caller information, in the format
  12065. <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
  12066. </para>
  12067. </remarks>
  12068. </member>
  12069. <member name="P:log4net.Core.LocationInfo.StackFrames">
  12070. <summary>
  12071. Gets the stack frames from the stack trace of the caller making the log request
  12072. </summary>
  12073. </member>
  12074. <member name="F:log4net.Core.LocationInfo.declaringType">
  12075. <summary>
  12076. The fully qualified type of the LocationInfo class.
  12077. </summary>
  12078. <remarks>
  12079. Used by the internal logger to record the Type of the
  12080. log message.
  12081. </remarks>
  12082. </member>
  12083. <member name="F:log4net.Core.LocationInfo.NA">
  12084. <summary>
  12085. When location information is not available the constant
  12086. <c>NA</c> is returned. Current value of this string
  12087. constant is <b>?</b>.
  12088. </summary>
  12089. </member>
  12090. <member name="T:log4net.Core.LogException">
  12091. <summary>
  12092. Exception base type for log4net.
  12093. </summary>
  12094. <remarks>
  12095. <para>
  12096. This type extends <see cref="T:System.ApplicationException"/>. It
  12097. does not add any new functionality but does differentiate the
  12098. type of exception being thrown.
  12099. </para>
  12100. </remarks>
  12101. <author>Nicko Cadell</author>
  12102. <author>Gert Driesen</author>
  12103. </member>
  12104. <member name="M:log4net.Core.LogException.#ctor">
  12105. <summary>
  12106. Constructor
  12107. </summary>
  12108. <remarks>
  12109. <para>
  12110. Initializes a new instance of the <see cref="T:log4net.Core.LogException" /> class.
  12111. </para>
  12112. </remarks>
  12113. </member>
  12114. <member name="M:log4net.Core.LogException.#ctor(System.String)">
  12115. <summary>
  12116. Constructor
  12117. </summary>
  12118. <param name="message">A message to include with the exception.</param>
  12119. <remarks>
  12120. <para>
  12121. Initializes a new instance of the <see cref="T:log4net.Core.LogException" /> class with
  12122. the specified message.
  12123. </para>
  12124. </remarks>
  12125. </member>
  12126. <member name="M:log4net.Core.LogException.#ctor(System.String,System.Exception)">
  12127. <summary>
  12128. Constructor
  12129. </summary>
  12130. <param name="message">A message to include with the exception.</param>
  12131. <param name="innerException">A nested exception to include.</param>
  12132. <remarks>
  12133. <para>
  12134. Initializes a new instance of the <see cref="T:log4net.Core.LogException" /> class
  12135. with the specified message and inner exception.
  12136. </para>
  12137. </remarks>
  12138. </member>
  12139. <member name="M:log4net.Core.LogException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  12140. <summary>
  12141. Serialization constructor
  12142. </summary>
  12143. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
  12144. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
  12145. <remarks>
  12146. <para>
  12147. Initializes a new instance of the <see cref="T:log4net.Core.LogException" /> class
  12148. with serialized data.
  12149. </para>
  12150. </remarks>
  12151. </member>
  12152. <member name="T:log4net.Core.LoggerManager">
  12153. <summary>
  12154. Static manager that controls the creation of repositories
  12155. </summary>
  12156. <remarks>
  12157. <para>
  12158. Static manager that controls the creation of repositories
  12159. </para>
  12160. <para>
  12161. This class is used by the wrapper managers (e.g. <see cref="T:log4net.LogManager"/>)
  12162. to provide access to the <see cref="T:log4net.Core.ILogger"/> objects.
  12163. </para>
  12164. <para>
  12165. This manager also holds the <see cref="T:log4net.Core.IRepositorySelector"/> that is used to
  12166. lookup and create repositories. The selector can be set either programmatically using
  12167. the <see cref="P:log4net.Core.LoggerManager.RepositorySelector"/> property, or by setting the <c>log4net.RepositorySelector</c>
  12168. AppSetting in the applications config file to the fully qualified type name of the
  12169. selector to use.
  12170. </para>
  12171. </remarks>
  12172. <author>Nicko Cadell</author>
  12173. <author>Gert Driesen</author>
  12174. </member>
  12175. <member name="M:log4net.Core.LoggerManager.#ctor">
  12176. <summary>
  12177. Private constructor to prevent instances. Only static methods should be used.
  12178. </summary>
  12179. <remarks>
  12180. <para>
  12181. Private constructor to prevent instances. Only static methods should be used.
  12182. </para>
  12183. </remarks>
  12184. </member>
  12185. <member name="M:log4net.Core.LoggerManager.#cctor">
  12186. <summary>
  12187. Hook the shutdown event
  12188. </summary>
  12189. <remarks>
  12190. <para>
  12191. On the full .NET runtime, the static constructor hooks up the
  12192. <c>AppDomain.ProcessExit</c> and <c>AppDomain.DomainUnload</c>> events.
  12193. These are used to shutdown the log4net system as the application exits.
  12194. </para>
  12195. </remarks>
  12196. </member>
  12197. <member name="M:log4net.Core.LoggerManager.RegisterAppDomainEvents">
  12198. <summary>
  12199. Register for ProcessExit and DomainUnload events on the AppDomain
  12200. </summary>
  12201. <remarks>
  12202. <para>
  12203. This needs to be in a separate method because the events make
  12204. a LinkDemand for the ControlAppDomain SecurityPermission. Because
  12205. this is a LinkDemand it is demanded at JIT time. Therefore we cannot
  12206. catch the exception in the method itself, we have to catch it in the
  12207. caller.
  12208. </para>
  12209. </remarks>
  12210. </member>
  12211. <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.String)">
  12212. <summary>
  12213. Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  12214. </summary>
  12215. <param name="repository">the repository to lookup in</param>
  12216. <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
  12217. <remarks>
  12218. <para>
  12219. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
  12220. by the <paramref name="repository"/> argument.
  12221. </para>
  12222. </remarks>
  12223. </member>
  12224. <member name="M:log4net.Core.LoggerManager.GetLoggerRepository(System.Reflection.Assembly)">
  12225. <summary>
  12226. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  12227. </summary>
  12228. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  12229. <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
  12230. </member>
  12231. <member name="M:log4net.Core.LoggerManager.GetRepository(System.String)">
  12232. <summary>
  12233. Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  12234. </summary>
  12235. <param name="repository">the repository to lookup in</param>
  12236. <returns>Return the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance</returns>
  12237. <remarks>
  12238. <para>
  12239. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
  12240. by the <paramref name="repository"/> argument.
  12241. </para>
  12242. </remarks>
  12243. </member>
  12244. <member name="M:log4net.Core.LoggerManager.GetRepository(System.Reflection.Assembly)">
  12245. <summary>
  12246. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  12247. </summary>
  12248. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  12249. <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
  12250. <remarks>
  12251. <para>
  12252. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  12253. </para>
  12254. </remarks>
  12255. </member>
  12256. <member name="M:log4net.Core.LoggerManager.Exists(System.String,System.String)">
  12257. <summary>
  12258. Returns the named logger if it exists.
  12259. </summary>
  12260. <param name="repository">The repository to lookup in.</param>
  12261. <param name="name">The fully qualified logger name to look for.</param>
  12262. <returns>
  12263. The logger found, or <c>null</c> if the named logger does not exist in the
  12264. specified repository.
  12265. </returns>
  12266. <remarks>
  12267. <para>
  12268. If the named logger exists (in the specified repository) then it
  12269. returns a reference to the logger, otherwise it returns
  12270. <c>null</c>.
  12271. </para>
  12272. </remarks>
  12273. </member>
  12274. <member name="M:log4net.Core.LoggerManager.Exists(System.Reflection.Assembly,System.String)">
  12275. <summary>
  12276. Returns the named logger if it exists.
  12277. </summary>
  12278. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  12279. <param name="name">The fully qualified logger name to look for.</param>
  12280. <returns>
  12281. The logger found, or <c>null</c> if the named logger does not exist in the
  12282. specified assembly's repository.
  12283. </returns>
  12284. <remarks>
  12285. <para>
  12286. If the named logger exists (in the specified assembly's repository) then it
  12287. returns a reference to the logger, otherwise it returns
  12288. <c>null</c>.
  12289. </para>
  12290. </remarks>
  12291. </member>
  12292. <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.String)">
  12293. <summary>
  12294. Returns all the currently defined loggers in the specified repository.
  12295. </summary>
  12296. <param name="repository">The repository to lookup in.</param>
  12297. <returns>All the defined loggers.</returns>
  12298. <remarks>
  12299. <para>
  12300. The root logger is <b>not</b> included in the returned array.
  12301. </para>
  12302. </remarks>
  12303. </member>
  12304. <member name="M:log4net.Core.LoggerManager.GetCurrentLoggers(System.Reflection.Assembly)">
  12305. <summary>
  12306. Returns all the currently defined loggers in the specified assembly's repository.
  12307. </summary>
  12308. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  12309. <returns>All the defined loggers.</returns>
  12310. <remarks>
  12311. <para>
  12312. The root logger is <b>not</b> included in the returned array.
  12313. </para>
  12314. </remarks>
  12315. </member>
  12316. <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.String)">
  12317. <summary>
  12318. Retrieves or creates a named logger.
  12319. </summary>
  12320. <param name="repository">The repository to lookup in.</param>
  12321. <param name="name">The name of the logger to retrieve.</param>
  12322. <returns>The logger with the name specified.</returns>
  12323. <remarks>
  12324. <para>
  12325. Retrieves a logger named as the <paramref name="name"/>
  12326. parameter. If the named logger already exists, then the
  12327. existing instance will be returned. Otherwise, a new instance is
  12328. created.
  12329. </para>
  12330. <para>
  12331. By default, loggers do not have a set level but inherit
  12332. it from the hierarchy. This is one of the central features of
  12333. log4net.
  12334. </para>
  12335. </remarks>
  12336. </member>
  12337. <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.String)">
  12338. <summary>
  12339. Retrieves or creates a named logger.
  12340. </summary>
  12341. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  12342. <param name="name">The name of the logger to retrieve.</param>
  12343. <returns>The logger with the name specified.</returns>
  12344. <remarks>
  12345. <para>
  12346. Retrieves a logger named as the <paramref name="name"/>
  12347. parameter. If the named logger already exists, then the
  12348. existing instance will be returned. Otherwise, a new instance is
  12349. created.
  12350. </para>
  12351. <para>
  12352. By default, loggers do not have a set level but inherit
  12353. it from the hierarchy. This is one of the central features of
  12354. log4net.
  12355. </para>
  12356. </remarks>
  12357. </member>
  12358. <member name="M:log4net.Core.LoggerManager.GetLogger(System.String,System.Type)">
  12359. <summary>
  12360. Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
  12361. </summary>
  12362. <param name="repository">The repository to lookup in.</param>
  12363. <param name="type">The <paramref name="type"/> of which the fullname will be used as the name of the logger to retrieve.</param>
  12364. <returns>The logger with the name specified.</returns>
  12365. <remarks>
  12366. <para>
  12367. Gets the logger for the fully qualified name of the type specified.
  12368. </para>
  12369. </remarks>
  12370. </member>
  12371. <member name="M:log4net.Core.LoggerManager.GetLogger(System.Reflection.Assembly,System.Type)">
  12372. <summary>
  12373. Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
  12374. </summary>
  12375. <param name="repositoryAssembly">the assembly to use to lookup the repository</param>
  12376. <param name="type">The <paramref name="type"/> of which the fullname will be used as the name of the logger to retrieve.</param>
  12377. <returns>The logger with the name specified.</returns>
  12378. <remarks>
  12379. <para>
  12380. Gets the logger for the fully qualified name of the type specified.
  12381. </para>
  12382. </remarks>
  12383. </member>
  12384. <member name="M:log4net.Core.LoggerManager.Shutdown">
  12385. <summary>
  12386. Shuts down the log4net system.
  12387. </summary>
  12388. <remarks>
  12389. <para>
  12390. Calling this method will <b>safely</b> close and remove all
  12391. appenders in all the loggers including root contained in all the
  12392. default repositories.
  12393. </para>
  12394. <para>
  12395. Some appenders need to be closed before the application exists.
  12396. Otherwise, pending logging events might be lost.
  12397. </para>
  12398. <para>
  12399. The <c>shutdown</c> method is careful to close nested
  12400. appenders before closing regular appenders. This is allows
  12401. configurations where a regular appender is attached to a logger
  12402. and again to a nested appender.
  12403. </para>
  12404. </remarks>
  12405. </member>
  12406. <member name="M:log4net.Core.LoggerManager.ShutdownRepository(System.String)">
  12407. <summary>
  12408. Shuts down the repository for the repository specified.
  12409. </summary>
  12410. <param name="repository">The repository to shutdown.</param>
  12411. <remarks>
  12412. <para>
  12413. Calling this method will <b>safely</b> close and remove all
  12414. appenders in all the loggers including root contained in the
  12415. repository for the <paramref name="repository"/> specified.
  12416. </para>
  12417. <para>
  12418. Some appenders need to be closed before the application exists.
  12419. Otherwise, pending logging events might be lost.
  12420. </para>
  12421. <para>
  12422. The <c>shutdown</c> method is careful to close nested
  12423. appenders before closing regular appenders. This is allows
  12424. configurations where a regular appender is attached to a logger
  12425. and again to a nested appender.
  12426. </para>
  12427. </remarks>
  12428. </member>
  12429. <member name="M:log4net.Core.LoggerManager.ShutdownRepository(System.Reflection.Assembly)">
  12430. <summary>
  12431. Shuts down the repository for the repository specified.
  12432. </summary>
  12433. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  12434. <remarks>
  12435. <para>
  12436. Calling this method will <b>safely</b> close and remove all
  12437. appenders in all the loggers including root contained in the
  12438. repository for the repository. The repository is looked up using
  12439. the <paramref name="repositoryAssembly"/> specified.
  12440. </para>
  12441. <para>
  12442. Some appenders need to be closed before the application exists.
  12443. Otherwise, pending logging events might be lost.
  12444. </para>
  12445. <para>
  12446. The <c>shutdown</c> method is careful to close nested
  12447. appenders before closing regular appenders. This is allows
  12448. configurations where a regular appender is attached to a logger
  12449. and again to a nested appender.
  12450. </para>
  12451. </remarks>
  12452. </member>
  12453. <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.String)">
  12454. <summary>
  12455. Resets all values contained in this repository instance to their defaults.
  12456. </summary>
  12457. <param name="repository">The repository to reset.</param>
  12458. <remarks>
  12459. <para>
  12460. Resets all values contained in the repository instance to their
  12461. defaults. This removes all appenders from all loggers, sets
  12462. the level of all non-root loggers to <c>null</c>,
  12463. sets their additivity flag to <c>true</c> and sets the level
  12464. of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
  12465. message disabling is set its default "off" value.
  12466. </para>
  12467. </remarks>
  12468. </member>
  12469. <member name="M:log4net.Core.LoggerManager.ResetConfiguration(System.Reflection.Assembly)">
  12470. <summary>
  12471. Resets all values contained in this repository instance to their defaults.
  12472. </summary>
  12473. <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
  12474. <remarks>
  12475. <para>
  12476. Resets all values contained in the repository instance to their
  12477. defaults. This removes all appenders from all loggers, sets
  12478. the level of all non-root loggers to <c>null</c>,
  12479. sets their additivity flag to <c>true</c> and sets the level
  12480. of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
  12481. message disabling is set its default "off" value.
  12482. </para>
  12483. </remarks>
  12484. </member>
  12485. <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String)">
  12486. <summary>
  12487. Creates a repository with the specified name.
  12488. </summary>
  12489. <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
  12490. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  12491. <remarks>
  12492. <para>
  12493. <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
  12494. </para>
  12495. <para>
  12496. Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
  12497. <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
  12498. </para>
  12499. <para>
  12500. The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
  12501. An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
  12502. </para>
  12503. </remarks>
  12504. <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
  12505. </member>
  12506. <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String)">
  12507. <summary>
  12508. Creates a repository with the specified name.
  12509. </summary>
  12510. <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
  12511. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  12512. <remarks>
  12513. <para>
  12514. Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
  12515. <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
  12516. </para>
  12517. <para>
  12518. The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
  12519. An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
  12520. </para>
  12521. </remarks>
  12522. <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
  12523. </member>
  12524. <member name="M:log4net.Core.LoggerManager.CreateDomain(System.String,System.Type)">
  12525. <summary>
  12526. Creates a repository with the specified name and repository type.
  12527. </summary>
  12528. <param name="repository">The name of the repository, this must be unique to the repository.</param>
  12529. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  12530. and has a no arg constructor. An instance of this type will be created to act
  12531. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  12532. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  12533. <remarks>
  12534. <para>
  12535. <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
  12536. </para>
  12537. <para>
  12538. The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
  12539. An Exception will be thrown if the repository already exists.
  12540. </para>
  12541. </remarks>
  12542. <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
  12543. </member>
  12544. <member name="M:log4net.Core.LoggerManager.CreateRepository(System.String,System.Type)">
  12545. <summary>
  12546. Creates a repository with the specified name and repository type.
  12547. </summary>
  12548. <param name="repository">The name of the repository, this must be unique to the repository.</param>
  12549. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  12550. and has a no arg constructor. An instance of this type will be created to act
  12551. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  12552. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  12553. <remarks>
  12554. <para>
  12555. The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
  12556. An Exception will be thrown if the repository already exists.
  12557. </para>
  12558. </remarks>
  12559. <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
  12560. </member>
  12561. <member name="M:log4net.Core.LoggerManager.CreateDomain(System.Reflection.Assembly,System.Type)">
  12562. <summary>
  12563. Creates a repository for the specified assembly and repository type.
  12564. </summary>
  12565. <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
  12566. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  12567. and has a no arg constructor. An instance of this type will be created to act
  12568. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  12569. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  12570. <remarks>
  12571. <para>
  12572. <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
  12573. </para>
  12574. <para>
  12575. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  12576. specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
  12577. same assembly specified will return the same repository instance.
  12578. </para>
  12579. </remarks>
  12580. </member>
  12581. <member name="M:log4net.Core.LoggerManager.CreateRepository(System.Reflection.Assembly,System.Type)">
  12582. <summary>
  12583. Creates a repository for the specified assembly and repository type.
  12584. </summary>
  12585. <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
  12586. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  12587. and has a no arg constructor. An instance of this type will be created to act
  12588. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  12589. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  12590. <remarks>
  12591. <para>
  12592. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  12593. specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
  12594. same assembly specified will return the same repository instance.
  12595. </para>
  12596. </remarks>
  12597. </member>
  12598. <member name="M:log4net.Core.LoggerManager.GetAllRepositories">
  12599. <summary>
  12600. Gets an array of all currently defined repositories.
  12601. </summary>
  12602. <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
  12603. <remarks>
  12604. <para>
  12605. Gets an array of all currently defined repositories.
  12606. </para>
  12607. </remarks>
  12608. </member>
  12609. <member name="P:log4net.Core.LoggerManager.RepositorySelector">
  12610. <summary>
  12611. Gets or sets the repository selector used by the <see cref="T:log4net.LogManager" />.
  12612. </summary>
  12613. <value>
  12614. The repository selector used by the <see cref="T:log4net.LogManager" />.
  12615. </value>
  12616. <remarks>
  12617. <para>
  12618. The repository selector (<see cref="T:log4net.Core.IRepositorySelector"/>) is used by
  12619. the <see cref="T:log4net.LogManager"/> to create and select repositories
  12620. (<see cref="T:log4net.Repository.ILoggerRepository"/>).
  12621. </para>
  12622. <para>
  12623. The caller to <see cref="T:log4net.LogManager"/> supplies either a string name
  12624. or an assembly (if not supplied the assembly is inferred using
  12625. <see cref="M:Assembly.GetCallingAssembly()"/>).
  12626. </para>
  12627. <para>
  12628. This context is used by the selector to lookup a specific repository.
  12629. </para>
  12630. <para>
  12631. For the full .NET Framework, the default repository is <c>DefaultRepositorySelector</c>;
  12632. for the .NET Compact Framework <c>CompactRepositorySelector</c> is the default
  12633. repository.
  12634. </para>
  12635. </remarks>
  12636. </member>
  12637. <member name="M:log4net.Core.LoggerManager.GetVersionInfo">
  12638. <summary>
  12639. Internal method to get pertinent version info.
  12640. </summary>
  12641. <returns>A string of version info.</returns>
  12642. </member>
  12643. <member name="M:log4net.Core.LoggerManager.OnDomainUnload(System.Object,System.EventArgs)">
  12644. <summary>
  12645. Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires
  12646. </summary>
  12647. <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
  12648. <param name="e">null</param>
  12649. <remarks>
  12650. <para>
  12651. Called when the <see cref="E:System.AppDomain.DomainUnload"/> event fires.
  12652. </para>
  12653. <para>
  12654. When the event is triggered the log4net system is <see cref="M:Shutdown()"/>.
  12655. </para>
  12656. </remarks>
  12657. </member>
  12658. <member name="M:log4net.Core.LoggerManager.OnProcessExit(System.Object,System.EventArgs)">
  12659. <summary>
  12660. Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires
  12661. </summary>
  12662. <param name="sender">the <see cref="T:System.AppDomain"/> that is exiting</param>
  12663. <param name="e">null</param>
  12664. <remarks>
  12665. <para>
  12666. Called when the <see cref="E:System.AppDomain.ProcessExit"/> event fires.
  12667. </para>
  12668. <para>
  12669. When the event is triggered the log4net system is <see cref="M:Shutdown()"/>.
  12670. </para>
  12671. </remarks>
  12672. </member>
  12673. <member name="F:log4net.Core.LoggerManager.declaringType">
  12674. <summary>
  12675. The fully qualified type of the LoggerManager class.
  12676. </summary>
  12677. <remarks>
  12678. Used by the internal logger to record the Type of the
  12679. log message.
  12680. </remarks>
  12681. </member>
  12682. <member name="F:log4net.Core.LoggerManager.s_repositorySelector">
  12683. <summary>
  12684. Initialize the default repository selector
  12685. </summary>
  12686. </member>
  12687. <member name="T:log4net.Core.LoggerWrapperImpl">
  12688. <summary>
  12689. Implementation of the <see cref="T:log4net.Core.ILoggerWrapper"/> interface.
  12690. </summary>
  12691. <remarks>
  12692. <para>
  12693. This class should be used as the base for all wrapper implementations.
  12694. </para>
  12695. </remarks>
  12696. <author>Nicko Cadell</author>
  12697. <author>Gert Driesen</author>
  12698. </member>
  12699. <member name="M:log4net.Core.LoggerWrapperImpl.#ctor(log4net.Core.ILogger)">
  12700. <summary>
  12701. Constructs a new wrapper for the specified logger.
  12702. </summary>
  12703. <param name="logger">The logger to wrap.</param>
  12704. <remarks>
  12705. <para>
  12706. Constructs a new wrapper for the specified logger.
  12707. </para>
  12708. </remarks>
  12709. </member>
  12710. <member name="P:log4net.Core.LoggerWrapperImpl.Logger">
  12711. <summary>
  12712. Gets the implementation behind this wrapper object.
  12713. </summary>
  12714. <value>
  12715. The <see cref="T:log4net.Core.ILogger"/> object that this object is implementing.
  12716. </value>
  12717. <remarks>
  12718. <para>
  12719. The <c>Logger</c> object may not be the same object as this object
  12720. because of logger decorators.
  12721. </para>
  12722. <para>
  12723. This gets the actual underlying objects that is used to process
  12724. the log events.
  12725. </para>
  12726. </remarks>
  12727. </member>
  12728. <member name="F:log4net.Core.LoggerWrapperImpl.m_logger">
  12729. <summary>
  12730. The logger that this object is wrapping
  12731. </summary>
  12732. </member>
  12733. <member name="T:log4net.Core.LoggingEventData">
  12734. <summary>
  12735. Portable data structure used by <see cref="T:log4net.Core.LoggingEvent"/>
  12736. </summary>
  12737. <remarks>
  12738. <para>
  12739. Portable data structure used by <see cref="T:log4net.Core.LoggingEvent"/>
  12740. </para>
  12741. </remarks>
  12742. <author>Nicko Cadell</author>
  12743. </member>
  12744. <member name="F:log4net.Core.LoggingEventData.LoggerName">
  12745. <summary>
  12746. The logger name.
  12747. </summary>
  12748. <remarks>
  12749. <para>
  12750. The logger name.
  12751. </para>
  12752. </remarks>
  12753. </member>
  12754. <member name="F:log4net.Core.LoggingEventData.Level">
  12755. <summary>
  12756. Level of logging event.
  12757. </summary>
  12758. <remarks>
  12759. <para>
  12760. Level of logging event. Level cannot be Serializable
  12761. because it is a flyweight. Due to its special serialization it
  12762. cannot be declared final either.
  12763. </para>
  12764. </remarks>
  12765. </member>
  12766. <member name="F:log4net.Core.LoggingEventData.Message">
  12767. <summary>
  12768. The application supplied message.
  12769. </summary>
  12770. <remarks>
  12771. <para>
  12772. The application supplied message of logging event.
  12773. </para>
  12774. </remarks>
  12775. </member>
  12776. <member name="F:log4net.Core.LoggingEventData.ThreadName">
  12777. <summary>
  12778. The name of thread
  12779. </summary>
  12780. <remarks>
  12781. <para>
  12782. The name of thread in which this logging event was generated
  12783. </para>
  12784. </remarks>
  12785. </member>
  12786. <member name="F:log4net.Core.LoggingEventData.TimeStamp">
  12787. <summary>
  12788. Gets or sets the local time the event was logged
  12789. </summary>
  12790. <remarks>
  12791. <para>
  12792. Prefer using the <see cref="P:log4net.Core.LoggingEventData.TimeStampUtc"/> setter, since local time can be ambiguous.
  12793. </para>
  12794. </remarks>
  12795. </member>
  12796. <member name="P:log4net.Core.LoggingEventData.TimeStampUtc">
  12797. <summary>
  12798. Gets or sets the UTC time the event was logged
  12799. </summary>
  12800. <remarks>
  12801. <para>
  12802. The TimeStamp is stored in the UTC time zone.
  12803. </para>
  12804. </remarks>
  12805. </member>
  12806. <member name="F:log4net.Core.LoggingEventData.LocationInfo">
  12807. <summary>
  12808. Location information for the caller.
  12809. </summary>
  12810. <remarks>
  12811. <para>
  12812. Location information for the caller.
  12813. </para>
  12814. </remarks>
  12815. </member>
  12816. <member name="F:log4net.Core.LoggingEventData.UserName">
  12817. <summary>
  12818. String representation of the user
  12819. </summary>
  12820. <remarks>
  12821. <para>
  12822. String representation of the user's windows name,
  12823. like DOMAIN\username
  12824. </para>
  12825. </remarks>
  12826. </member>
  12827. <member name="F:log4net.Core.LoggingEventData.Identity">
  12828. <summary>
  12829. String representation of the identity.
  12830. </summary>
  12831. <remarks>
  12832. <para>
  12833. String representation of the current thread's principal identity.
  12834. </para>
  12835. </remarks>
  12836. </member>
  12837. <member name="F:log4net.Core.LoggingEventData.ExceptionString">
  12838. <summary>
  12839. The string representation of the exception
  12840. </summary>
  12841. <remarks>
  12842. <para>
  12843. The string representation of the exception
  12844. </para>
  12845. </remarks>
  12846. </member>
  12847. <member name="F:log4net.Core.LoggingEventData.Domain">
  12848. <summary>
  12849. String representation of the AppDomain.
  12850. </summary>
  12851. <remarks>
  12852. <para>
  12853. String representation of the AppDomain.
  12854. </para>
  12855. </remarks>
  12856. </member>
  12857. <member name="F:log4net.Core.LoggingEventData.Properties">
  12858. <summary>
  12859. Additional event specific properties
  12860. </summary>
  12861. <remarks>
  12862. <para>
  12863. A logger or an appender may attach additional
  12864. properties to specific events. These properties
  12865. have a string key and an object value.
  12866. </para>
  12867. </remarks>
  12868. </member>
  12869. <member name="T:log4net.Core.FixFlags">
  12870. <summary>
  12871. Flags passed to the <see cref="P:log4net.Core.LoggingEvent.Fix"/> property
  12872. </summary>
  12873. <remarks>
  12874. <para>
  12875. Flags passed to the <see cref="P:log4net.Core.LoggingEvent.Fix"/> property
  12876. </para>
  12877. </remarks>
  12878. <author>Nicko Cadell</author>
  12879. </member>
  12880. <member name="F:log4net.Core.FixFlags.Mdc">
  12881. <summary>
  12882. Fix the MDC
  12883. </summary>
  12884. </member>
  12885. <member name="F:log4net.Core.FixFlags.Ndc">
  12886. <summary>
  12887. Fix the NDC
  12888. </summary>
  12889. </member>
  12890. <member name="F:log4net.Core.FixFlags.Message">
  12891. <summary>
  12892. Fix the rendered message
  12893. </summary>
  12894. </member>
  12895. <member name="F:log4net.Core.FixFlags.ThreadName">
  12896. <summary>
  12897. Fix the thread name
  12898. </summary>
  12899. </member>
  12900. <member name="F:log4net.Core.FixFlags.LocationInfo">
  12901. <summary>
  12902. Fix the callers location information
  12903. </summary>
  12904. <remarks>
  12905. CAUTION: Very slow to generate
  12906. </remarks>
  12907. </member>
  12908. <member name="F:log4net.Core.FixFlags.UserName">
  12909. <summary>
  12910. Fix the callers windows user name
  12911. </summary>
  12912. <remarks>
  12913. CAUTION: Slow to generate
  12914. </remarks>
  12915. </member>
  12916. <member name="F:log4net.Core.FixFlags.Domain">
  12917. <summary>
  12918. Fix the domain friendly name
  12919. </summary>
  12920. </member>
  12921. <member name="F:log4net.Core.FixFlags.Identity">
  12922. <summary>
  12923. Fix the callers principal name
  12924. </summary>
  12925. <remarks>
  12926. CAUTION: May be slow to generate
  12927. </remarks>
  12928. </member>
  12929. <member name="F:log4net.Core.FixFlags.Exception">
  12930. <summary>
  12931. Fix the exception text
  12932. </summary>
  12933. </member>
  12934. <member name="F:log4net.Core.FixFlags.Properties">
  12935. <summary>
  12936. Fix the event properties. Active properties must implement <see cref="T:log4net.Core.IFixingRequired"/> in order to be eligible for fixing.
  12937. </summary>
  12938. </member>
  12939. <member name="F:log4net.Core.FixFlags.None">
  12940. <summary>
  12941. No fields fixed
  12942. </summary>
  12943. </member>
  12944. <member name="F:log4net.Core.FixFlags.All">
  12945. <summary>
  12946. All fields fixed
  12947. </summary>
  12948. </member>
  12949. <member name="F:log4net.Core.FixFlags.Partial">
  12950. <summary>
  12951. Partial fields fixed
  12952. </summary>
  12953. <remarks>
  12954. <para>
  12955. This set of partial fields gives good performance. The following fields are fixed:
  12956. </para>
  12957. <list type="bullet">
  12958. <item><description><see cref="F:log4net.Core.FixFlags.Message"/></description></item>
  12959. <item><description><see cref="F:log4net.Core.FixFlags.ThreadName"/></description></item>
  12960. <item><description><see cref="F:log4net.Core.FixFlags.Exception"/></description></item>
  12961. <item><description><see cref="F:log4net.Core.FixFlags.Domain"/></description></item>
  12962. <item><description><see cref="F:log4net.Core.FixFlags.Properties"/></description></item>
  12963. </list>
  12964. </remarks>
  12965. </member>
  12966. <member name="T:log4net.Core.LoggingEvent">
  12967. <summary>
  12968. The internal representation of logging events.
  12969. </summary>
  12970. <remarks>
  12971. <para>
  12972. When an affirmative decision is made to log then a
  12973. <see cref="T:log4net.Core.LoggingEvent"/> instance is created. This instance
  12974. is passed around to the different log4net components.
  12975. </para>
  12976. <para>
  12977. This class is of concern to those wishing to extend log4net.
  12978. </para>
  12979. <para>
  12980. Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
  12981. are considered volatile, that is the values are correct at the
  12982. time the event is delivered to appenders, but will not be consistent
  12983. at any time afterwards. If an event is to be stored and then processed
  12984. at a later time these volatile values must be fixed by calling
  12985. <see cref="M:FixVolatileData()"/>. There is a performance penalty
  12986. for incurred by calling <see cref="M:FixVolatileData()"/> but it
  12987. is essential to maintaining data consistency.
  12988. </para>
  12989. </remarks>
  12990. <author>Nicko Cadell</author>
  12991. <author>Gert Driesen</author>
  12992. <author>Douglas de la Torre</author>
  12993. <author>Daniel Cazzulino</author>
  12994. </member>
  12995. <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,System.String,log4net.Core.Level,System.Object,System.Exception)">
  12996. <summary>
  12997. Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent" /> class
  12998. from the supplied parameters.
  12999. </summary>
  13000. <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
  13001. the stack boundary into the logging system for this call.</param>
  13002. <param name="repository">The repository this event is logged in.</param>
  13003. <param name="loggerName">The name of the logger of this event.</param>
  13004. <param name="level">The level of this event.</param>
  13005. <param name="message">The message of this event.</param>
  13006. <param name="exception">The exception for this event.</param>
  13007. <remarks>
  13008. <para>
  13009. Except <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>, <see cref="P:log4net.Core.LoggingEvent.Level"/> and <see cref="P:log4net.Core.LoggingEvent.LoggerName"/>,
  13010. all fields of <c>LoggingEvent</c> are filled when actually needed. Call
  13011. <see cref="M:FixVolatileData()"/> to cache all data locally
  13012. to prevent inconsistencies.
  13013. </para>
  13014. <para>This method is called by the log4net framework
  13015. to create a logging event.
  13016. </para>
  13017. </remarks>
  13018. </member>
  13019. <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,log4net.Core.LoggingEventData,log4net.Core.FixFlags)">
  13020. <summary>
  13021. Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent" /> class
  13022. using specific data.
  13023. </summary>
  13024. <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
  13025. the stack boundary into the logging system for this call.</param>
  13026. <param name="repository">The repository this event is logged in.</param>
  13027. <param name="data">Data used to initialize the logging event.</param>
  13028. <param name="fixedData">The fields in the <paranref name="data"/> struct that have already been fixed.</param>
  13029. <remarks>
  13030. <para>
  13031. This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent" />
  13032. to be created independently of the log4net framework. This can
  13033. be useful if you require a custom serialization scheme.
  13034. </para>
  13035. <para>
  13036. Use the <see cref="M:GetLoggingEventData(FixFlags)"/> method to obtain an
  13037. instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
  13038. </para>
  13039. <para>
  13040. The <paramref name="fixedData"/> parameter should be used to specify which fields in the
  13041. <paramref name="data"/> struct have been preset. Fields not specified in the <paramref name="fixedData"/>
  13042. will be captured from the environment if requested or fixed.
  13043. </para>
  13044. </remarks>
  13045. </member>
  13046. <member name="M:log4net.Core.LoggingEvent.#ctor(System.Type,log4net.Repository.ILoggerRepository,log4net.Core.LoggingEventData)">
  13047. <summary>
  13048. Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent" /> class
  13049. using specific data.
  13050. </summary>
  13051. <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
  13052. the stack boundary into the logging system for this call.</param>
  13053. <param name="repository">The repository this event is logged in.</param>
  13054. <param name="data">Data used to initialize the logging event.</param>
  13055. <remarks>
  13056. <para>
  13057. This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent" />
  13058. to be created independently of the log4net framework. This can
  13059. be useful if you require a custom serialization scheme.
  13060. </para>
  13061. <para>
  13062. Use the <see cref="M:GetLoggingEventData(FixFlags)"/> method to obtain an
  13063. instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
  13064. </para>
  13065. <para>
  13066. This constructor sets this objects <see cref="P:log4net.Core.LoggingEvent.Fix"/> flags to <see cref="F:log4net.Core.FixFlags.All"/>,
  13067. this assumes that all the data relating to this event is passed in via the <paramref name="data"/>
  13068. parameter and no other data should be captured from the environment.
  13069. </para>
  13070. </remarks>
  13071. </member>
  13072. <member name="M:log4net.Core.LoggingEvent.#ctor(log4net.Core.LoggingEventData)">
  13073. <summary>
  13074. Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent" /> class
  13075. using specific data.
  13076. </summary>
  13077. <param name="data">Data used to initialize the logging event.</param>
  13078. <remarks>
  13079. <para>
  13080. This constructor is provided to allow a <see cref="T:log4net.Core.LoggingEvent" />
  13081. to be created independently of the log4net framework. This can
  13082. be useful if you require a custom serialization scheme.
  13083. </para>
  13084. <para>
  13085. Use the <see cref="M:GetLoggingEventData(FixFlags)"/> method to obtain an
  13086. instance of the <see cref="T:log4net.Core.LoggingEventData"/> class.
  13087. </para>
  13088. <para>
  13089. This constructor sets this objects <see cref="P:log4net.Core.LoggingEvent.Fix"/> flags to <see cref="F:log4net.Core.FixFlags.All"/>,
  13090. this assumes that all the data relating to this event is passed in via the <paramref name="data"/>
  13091. parameter and no other data should be captured from the environment.
  13092. </para>
  13093. </remarks>
  13094. </member>
  13095. <member name="M:log4net.Core.LoggingEvent.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  13096. <summary>
  13097. Serialization constructor
  13098. </summary>
  13099. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data.</param>
  13100. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
  13101. <remarks>
  13102. <para>
  13103. Initializes a new instance of the <see cref="T:log4net.Core.LoggingEvent" /> class
  13104. with serialized data.
  13105. </para>
  13106. </remarks>
  13107. </member>
  13108. <member name="P:log4net.Core.LoggingEvent.StartTime">
  13109. <summary>
  13110. Gets the time when the current process started.
  13111. </summary>
  13112. <value>
  13113. This is the time when this process started.
  13114. </value>
  13115. <remarks>
  13116. <para>
  13117. The TimeStamp is stored internally in UTC and converted to the local time zone for this computer.
  13118. </para>
  13119. <para>
  13120. Tries to get the start time for the current process.
  13121. Failing that it returns the time of the first call to
  13122. this property.
  13123. </para>
  13124. <para>
  13125. Note that AppDomains may be loaded and unloaded within the
  13126. same process without the process terminating and therefore
  13127. without the process start time being reset.
  13128. </para>
  13129. </remarks>
  13130. </member>
  13131. <member name="P:log4net.Core.LoggingEvent.StartTimeUtc">
  13132. <summary>
  13133. Gets the UTC time when the current process started.
  13134. </summary>
  13135. <value>
  13136. This is the UTC time when this process started.
  13137. </value>
  13138. <remarks>
  13139. <para>
  13140. Tries to get the start time for the current process.
  13141. Failing that it returns the time of the first call to
  13142. this property.
  13143. </para>
  13144. <para>
  13145. Note that AppDomains may be loaded and unloaded within the
  13146. same process without the process terminating and therefore
  13147. without the process start time being reset.
  13148. </para>
  13149. </remarks>
  13150. </member>
  13151. <member name="P:log4net.Core.LoggingEvent.Level">
  13152. <summary>
  13153. Gets the <see cref="P:log4net.Core.LoggingEvent.Level" /> of the logging event.
  13154. </summary>
  13155. <value>
  13156. The <see cref="P:log4net.Core.LoggingEvent.Level" /> of the logging event.
  13157. </value>
  13158. <remarks>
  13159. <para>
  13160. Gets the <see cref="P:log4net.Core.LoggingEvent.Level" /> of the logging event.
  13161. </para>
  13162. </remarks>
  13163. </member>
  13164. <member name="P:log4net.Core.LoggingEvent.TimeStamp">
  13165. <summary>
  13166. Gets the time of the logging event.
  13167. </summary>
  13168. <value>
  13169. The time of the logging event.
  13170. </value>
  13171. <remarks>
  13172. <para>
  13173. The TimeStamp is stored in UTC and converted to the local time zone for this computer.
  13174. </para>
  13175. </remarks>
  13176. </member>
  13177. <member name="P:log4net.Core.LoggingEvent.TimeStampUtc">
  13178. <summary>
  13179. Gets UTC the time of the logging event.
  13180. </summary>
  13181. <value>
  13182. The UTC time of the logging event.
  13183. </value>
  13184. </member>
  13185. <member name="P:log4net.Core.LoggingEvent.LoggerName">
  13186. <summary>
  13187. Gets the name of the logger that logged the event.
  13188. </summary>
  13189. <value>
  13190. The name of the logger that logged the event.
  13191. </value>
  13192. <remarks>
  13193. <para>
  13194. Gets the name of the logger that logged the event.
  13195. </para>
  13196. </remarks>
  13197. </member>
  13198. <member name="P:log4net.Core.LoggingEvent.LocationInformation">
  13199. <summary>
  13200. Gets the location information for this logging event.
  13201. </summary>
  13202. <value>
  13203. The location information for this logging event.
  13204. </value>
  13205. <remarks>
  13206. <para>
  13207. The collected information is cached for future use.
  13208. </para>
  13209. <para>
  13210. See the <see cref="T:log4net.Core.LocationInfo"/> class for more information on
  13211. supported frameworks and the different behavior in Debug and
  13212. Release builds.
  13213. </para>
  13214. </remarks>
  13215. </member>
  13216. <member name="P:log4net.Core.LoggingEvent.MessageObject">
  13217. <summary>
  13218. Gets the message object used to initialize this event.
  13219. </summary>
  13220. <value>
  13221. The message object used to initialize this event.
  13222. </value>
  13223. <remarks>
  13224. <para>
  13225. Gets the message object used to initialize this event.
  13226. Note that this event may not have a valid message object.
  13227. If the event is serialized the message object will not
  13228. be transferred. To get the text of the message the
  13229. <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property must be used
  13230. not this property.
  13231. </para>
  13232. <para>
  13233. If there is no defined message object for this event then
  13234. null will be returned.
  13235. </para>
  13236. </remarks>
  13237. </member>
  13238. <member name="P:log4net.Core.LoggingEvent.ExceptionObject">
  13239. <summary>
  13240. Gets the exception object used to initialize this event.
  13241. </summary>
  13242. <value>
  13243. The exception object used to initialize this event.
  13244. </value>
  13245. <remarks>
  13246. <para>
  13247. Gets the exception object used to initialize this event.
  13248. Note that this event may not have a valid exception object.
  13249. If the event is serialized the exception object will not
  13250. be transferred. To get the text of the exception the
  13251. <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/> method must be used
  13252. not this property.
  13253. </para>
  13254. <para>
  13255. If there is no defined exception object for this event then
  13256. null will be returned.
  13257. </para>
  13258. </remarks>
  13259. </member>
  13260. <member name="P:log4net.Core.LoggingEvent.Repository">
  13261. <summary>
  13262. The <see cref="T:log4net.Repository.ILoggerRepository"/> that this event was created in.
  13263. </summary>
  13264. <remarks>
  13265. <para>
  13266. The <see cref="T:log4net.Repository.ILoggerRepository"/> that this event was created in.
  13267. </para>
  13268. </remarks>
  13269. </member>
  13270. <member name="M:log4net.Core.LoggingEvent.EnsureRepository(log4net.Repository.ILoggerRepository)">
  13271. <summary>
  13272. Ensure that the repository is set.
  13273. </summary>
  13274. <param name="repository">the value for the repository</param>
  13275. </member>
  13276. <member name="P:log4net.Core.LoggingEvent.RenderedMessage">
  13277. <summary>
  13278. Gets the message, rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap" />.
  13279. </summary>
  13280. <value>
  13281. The message rendered through the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap" />.
  13282. </value>
  13283. <remarks>
  13284. <para>
  13285. The collected information is cached for future use.
  13286. </para>
  13287. </remarks>
  13288. </member>
  13289. <member name="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)">
  13290. <summary>
  13291. Write the rendered message to a TextWriter
  13292. </summary>
  13293. <param name="writer">the writer to write the message to</param>
  13294. <remarks>
  13295. <para>
  13296. Unlike the <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property this method
  13297. does store the message data in the internal cache. Therefore
  13298. if called only once this method should be faster than the
  13299. <see cref="P:log4net.Core.LoggingEvent.RenderedMessage"/> property, however if the message is
  13300. to be accessed multiple times then the property will be more efficient.
  13301. </para>
  13302. </remarks>
  13303. </member>
  13304. <member name="P:log4net.Core.LoggingEvent.ThreadName">
  13305. <summary>
  13306. Gets the name of the current thread.
  13307. </summary>
  13308. <value>
  13309. The name of the current thread, or the thread ID when
  13310. the name is not available.
  13311. </value>
  13312. <remarks>
  13313. <para>
  13314. The collected information is cached for future use.
  13315. </para>
  13316. </remarks>
  13317. </member>
  13318. <member name="P:log4net.Core.LoggingEvent.UserName">
  13319. <summary>
  13320. Gets the name of the current user.
  13321. </summary>
  13322. <value>
  13323. The name of the current user, or <c>NOT AVAILABLE</c> when the
  13324. underlying runtime has no support for retrieving the name of the
  13325. current user.
  13326. </value>
  13327. <remarks>
  13328. <para>
  13329. Calls <c>WindowsIdentity.GetCurrent().Name</c> to get the name of
  13330. the current windows user.
  13331. </para>
  13332. <para>
  13333. To improve performance, we could cache the string representation of
  13334. the name, and reuse that as long as the identity stayed constant.
  13335. Once the identity changed, we would need to re-assign and re-render
  13336. the string.
  13337. </para>
  13338. <para>
  13339. However, the <c>WindowsIdentity.GetCurrent()</c> call seems to
  13340. return different objects every time, so the current implementation
  13341. doesn't do this type of caching.
  13342. </para>
  13343. <para>
  13344. Timing for these operations:
  13345. </para>
  13346. <list type="table">
  13347. <listheader>
  13348. <term>Method</term>
  13349. <description>Results</description>
  13350. </listheader>
  13351. <item>
  13352. <term><c>WindowsIdentity.GetCurrent()</c></term>
  13353. <description>10000 loops, 00:00:00.2031250 seconds</description>
  13354. </item>
  13355. <item>
  13356. <term><c>WindowsIdentity.GetCurrent().Name</c></term>
  13357. <description>10000 loops, 00:00:08.0468750 seconds</description>
  13358. </item>
  13359. </list>
  13360. <para>
  13361. This means we could speed things up almost 40 times by caching the
  13362. value of the <c>WindowsIdentity.GetCurrent().Name</c> property, since
  13363. this takes (8.04-0.20) = 7.84375 seconds.
  13364. </para>
  13365. </remarks>
  13366. </member>
  13367. <member name="P:log4net.Core.LoggingEvent.Identity">
  13368. <summary>
  13369. Gets the identity of the current thread principal.
  13370. </summary>
  13371. <value>
  13372. The string name of the identity of the current thread principal.
  13373. </value>
  13374. <remarks>
  13375. <para>
  13376. Calls <c>System.Threading.Thread.CurrentPrincipal.Identity.Name</c> to get
  13377. the name of the current thread principal.
  13378. </para>
  13379. </remarks>
  13380. </member>
  13381. <member name="P:log4net.Core.LoggingEvent.Domain">
  13382. <summary>
  13383. Gets the AppDomain friendly name.
  13384. </summary>
  13385. <value>
  13386. The AppDomain friendly name.
  13387. </value>
  13388. <remarks>
  13389. <para>
  13390. Gets the AppDomain friendly name.
  13391. </para>
  13392. </remarks>
  13393. </member>
  13394. <member name="P:log4net.Core.LoggingEvent.Properties">
  13395. <summary>
  13396. Additional event specific properties.
  13397. </summary>
  13398. <value>
  13399. Additional event specific properties.
  13400. </value>
  13401. <remarks>
  13402. <para>
  13403. A logger or an appender may attach additional
  13404. properties to specific events. These properties
  13405. have a string key and an object value.
  13406. </para>
  13407. <para>
  13408. This property is for events that have been added directly to
  13409. this event. The aggregate properties (which include these
  13410. event properties) can be retrieved using <see cref="M:log4net.Core.LoggingEvent.LookupProperty(System.String)"/>
  13411. and <see cref="M:log4net.Core.LoggingEvent.GetProperties"/>.
  13412. </para>
  13413. <para>
  13414. Once the properties have been fixed <see cref="P:log4net.Core.LoggingEvent.Fix"/> this property
  13415. returns the combined cached properties. This ensures that updates to
  13416. this property are always reflected in the underlying storage. When
  13417. returning the combined properties there may be more keys in the
  13418. Dictionary than expected.
  13419. </para>
  13420. </remarks>
  13421. </member>
  13422. <member name="P:log4net.Core.LoggingEvent.Fix">
  13423. <summary>
  13424. The fixed fields in this event
  13425. </summary>
  13426. <value>
  13427. The set of fields that are fixed in this event
  13428. </value>
  13429. <remarks>
  13430. <para>
  13431. Fields will not be fixed if they have previously been fixed.
  13432. It is not possible to 'unfix' a field.
  13433. </para>
  13434. </remarks>
  13435. </member>
  13436. <member name="M:log4net.Core.LoggingEvent.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  13437. <summary>
  13438. Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> provided.
  13439. </summary>
  13440. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> to populate with data.</param>
  13441. <param name="context">The destination for this serialization.</param>
  13442. <remarks>
  13443. <para>
  13444. The data in this event must be fixed before it can be serialized.
  13445. </para>
  13446. <para>
  13447. The <see cref="M:FixVolatileData()"/> method must be called during the
  13448. <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)"/> method call if this event
  13449. is to be used outside that method.
  13450. </para>
  13451. </remarks>
  13452. </member>
  13453. <member name="M:log4net.Core.LoggingEvent.GetLoggingEventData">
  13454. <summary>
  13455. Gets the portable data for this <see cref="T:log4net.Core.LoggingEvent" />.
  13456. </summary>
  13457. <returns>The <see cref="T:log4net.Core.LoggingEventData"/> for this event.</returns>
  13458. <remarks>
  13459. <para>
  13460. A new <see cref="T:log4net.Core.LoggingEvent"/> can be constructed using a
  13461. <see cref="T:log4net.Core.LoggingEventData"/> instance.
  13462. </para>
  13463. <para>
  13464. Does a <see cref="F:log4net.Core.FixFlags.Partial"/> fix of the data
  13465. in the logging event before returning the event data.
  13466. </para>
  13467. </remarks>
  13468. </member>
  13469. <member name="M:log4net.Core.LoggingEvent.GetLoggingEventData(log4net.Core.FixFlags)">
  13470. <summary>
  13471. Gets the portable data for this <see cref="T:log4net.Core.LoggingEvent" />.
  13472. </summary>
  13473. <param name="fixFlags">The set of data to ensure is fixed in the LoggingEventData</param>
  13474. <returns>The <see cref="T:log4net.Core.LoggingEventData"/> for this event.</returns>
  13475. <remarks>
  13476. <para>
  13477. A new <see cref="T:log4net.Core.LoggingEvent"/> can be constructed using a
  13478. <see cref="T:log4net.Core.LoggingEventData"/> instance.
  13479. </para>
  13480. </remarks>
  13481. </member>
  13482. <member name="M:log4net.Core.LoggingEvent.GetExceptionStrRep">
  13483. <summary>
  13484. Returns this event's exception's rendered using the
  13485. <see cref="P:log4net.Repository.ILoggerRepository.RendererMap" />.
  13486. </summary>
  13487. <returns>
  13488. This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap" />.
  13489. </returns>
  13490. <remarks>
  13491. <para>
  13492. <b>Obsolete. Use <see cref="M:log4net.Core.LoggingEvent.GetExceptionString"/> instead.</b>
  13493. </para>
  13494. </remarks>
  13495. </member>
  13496. <member name="M:log4net.Core.LoggingEvent.GetExceptionString">
  13497. <summary>
  13498. Returns this event's exception's rendered using the
  13499. <see cref="P:log4net.Repository.ILoggerRepository.RendererMap" />.
  13500. </summary>
  13501. <returns>
  13502. This event's exception's rendered using the <see cref="P:log4net.Repository.ILoggerRepository.RendererMap" />.
  13503. </returns>
  13504. <remarks>
  13505. <para>
  13506. Returns this event's exception's rendered using the
  13507. <see cref="P:log4net.Repository.ILoggerRepository.RendererMap" />.
  13508. </para>
  13509. </remarks>
  13510. </member>
  13511. <member name="M:log4net.Core.LoggingEvent.FixVolatileData">
  13512. <summary>
  13513. Fix instance fields that hold volatile data.
  13514. </summary>
  13515. <remarks>
  13516. <para>
  13517. Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
  13518. are considered volatile, that is the values are correct at the
  13519. time the event is delivered to appenders, but will not be consistent
  13520. at any time afterwards. If an event is to be stored and then processed
  13521. at a later time these volatile values must be fixed by calling
  13522. <see cref="M:FixVolatileData()"/>. There is a performance penalty
  13523. incurred by calling <see cref="M:FixVolatileData()"/> but it
  13524. is essential to maintaining data consistency.
  13525. </para>
  13526. <para>
  13527. Calling <see cref="M:FixVolatileData()"/> is equivalent to
  13528. calling <see cref="M:FixVolatileData(bool)"/> passing the parameter
  13529. <c>false</c>.
  13530. </para>
  13531. <para>
  13532. See <see cref="M:FixVolatileData(bool)"/> for more
  13533. information.
  13534. </para>
  13535. </remarks>
  13536. </member>
  13537. <member name="M:log4net.Core.LoggingEvent.FixVolatileData(System.Boolean)">
  13538. <summary>
  13539. Fixes instance fields that hold volatile data.
  13540. </summary>
  13541. <param name="fastButLoose">Set to <c>true</c> to not fix data that takes a long time to fix.</param>
  13542. <remarks>
  13543. <para>
  13544. Some of the values in instances of <see cref="T:log4net.Core.LoggingEvent"/>
  13545. are considered volatile, that is the values are correct at the
  13546. time the event is delivered to appenders, but will not be consistent
  13547. at any time afterwards. If an event is to be stored and then processed
  13548. at a later time these volatile values must be fixed by calling
  13549. <see cref="M:FixVolatileData()"/>. There is a performance penalty
  13550. for incurred by calling <see cref="M:FixVolatileData()"/> but it
  13551. is essential to maintaining data consistency.
  13552. </para>
  13553. <para>
  13554. The <paramref name="fastButLoose"/> param controls the data that
  13555. is fixed. Some of the data that can be fixed takes a long time to
  13556. generate, therefore if you do not require those settings to be fixed
  13557. they can be ignored by setting the <paramref name="fastButLoose"/> param
  13558. to <c>true</c>. This setting will ignore the <see cref="P:log4net.Core.LoggingEvent.LocationInformation"/>
  13559. and <see cref="P:log4net.Core.LoggingEvent.UserName"/> settings.
  13560. </para>
  13561. <para>
  13562. Set <paramref name="fastButLoose"/> to <c>false</c> to ensure that all
  13563. settings are fixed.
  13564. </para>
  13565. </remarks>
  13566. </member>
  13567. <member name="M:log4net.Core.LoggingEvent.FixVolatileData(log4net.Core.FixFlags)">
  13568. <summary>
  13569. Fix the fields specified by the <see cref="T:log4net.Core.FixFlags"/> parameter
  13570. </summary>
  13571. <param name="flags">the fields to fix</param>
  13572. <remarks>
  13573. <para>
  13574. Only fields specified in the <paramref name="flags"/> will be fixed.
  13575. Fields will not be fixed if they have previously been fixed.
  13576. It is not possible to 'unfix' a field.
  13577. </para>
  13578. </remarks>
  13579. </member>
  13580. <member name="M:log4net.Core.LoggingEvent.LookupProperty(System.String)">
  13581. <summary>
  13582. Lookup a composite property in this event
  13583. </summary>
  13584. <param name="key">the key for the property to lookup</param>
  13585. <returns>the value for the property</returns>
  13586. <remarks>
  13587. <para>
  13588. This event has composite properties that combine together properties from
  13589. several different contexts in the following order:
  13590. <list type="definition">
  13591. <item>
  13592. <term>this events properties</term>
  13593. <description>
  13594. This event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These
  13595. properties are specific to this event only.
  13596. </description>
  13597. </item>
  13598. <item>
  13599. <term>the thread properties</term>
  13600. <description>
  13601. The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
  13602. thread. These properties are shared by all events logged on this thread.
  13603. </description>
  13604. </item>
  13605. <item>
  13606. <term>the global properties</term>
  13607. <description>
  13608. The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These
  13609. properties are shared by all the threads in the AppDomain.
  13610. </description>
  13611. </item>
  13612. </list>
  13613. </para>
  13614. </remarks>
  13615. </member>
  13616. <member name="M:log4net.Core.LoggingEvent.GetProperties">
  13617. <summary>
  13618. Get all the composite properties in this event
  13619. </summary>
  13620. <returns>the <see cref="T:log4net.Util.PropertiesDictionary"/> containing all the properties</returns>
  13621. <remarks>
  13622. <para>
  13623. See <see cref="M:log4net.Core.LoggingEvent.LookupProperty(System.String)"/> for details of the composite properties
  13624. stored by the event.
  13625. </para>
  13626. <para>
  13627. This method returns a single <see cref="T:log4net.Util.PropertiesDictionary"/> containing all the
  13628. properties defined for this event.
  13629. </para>
  13630. </remarks>
  13631. </member>
  13632. <member name="F:log4net.Core.LoggingEvent.m_data">
  13633. <summary>
  13634. The internal logging event data.
  13635. </summary>
  13636. </member>
  13637. <member name="F:log4net.Core.LoggingEvent.m_compositeProperties">
  13638. <summary>
  13639. The internal logging event data.
  13640. </summary>
  13641. </member>
  13642. <member name="F:log4net.Core.LoggingEvent.m_eventProperties">
  13643. <summary>
  13644. The internal logging event data.
  13645. </summary>
  13646. </member>
  13647. <member name="F:log4net.Core.LoggingEvent.m_callerStackBoundaryDeclaringType">
  13648. <summary>
  13649. The fully qualified Type of the calling
  13650. logger class in the stack frame (i.e. the declaring type of the method).
  13651. </summary>
  13652. </member>
  13653. <member name="F:log4net.Core.LoggingEvent.m_message">
  13654. <summary>
  13655. The application supplied message of logging event.
  13656. </summary>
  13657. </member>
  13658. <member name="F:log4net.Core.LoggingEvent.m_thrownException">
  13659. <summary>
  13660. The exception that was thrown.
  13661. </summary>
  13662. <remarks>
  13663. This is not serialized. The string representation
  13664. is serialized instead.
  13665. </remarks>
  13666. </member>
  13667. <member name="F:log4net.Core.LoggingEvent.m_repository">
  13668. <summary>
  13669. The repository that generated the logging event
  13670. </summary>
  13671. <remarks>
  13672. This is not serialized.
  13673. </remarks>
  13674. </member>
  13675. <member name="F:log4net.Core.LoggingEvent.m_fixFlags">
  13676. <summary>
  13677. The fix state for this event
  13678. </summary>
  13679. <remarks>
  13680. These flags indicate which fields have been fixed.
  13681. Not serialized.
  13682. </remarks>
  13683. </member>
  13684. <member name="F:log4net.Core.LoggingEvent.m_cacheUpdatable">
  13685. <summary>
  13686. Indicated that the internal cache is updateable (ie not fixed)
  13687. </summary>
  13688. <remarks>
  13689. This is a seperate flag to m_fixFlags as it allows incrementel fixing and simpler
  13690. changes in the caching strategy.
  13691. </remarks>
  13692. </member>
  13693. <member name="F:log4net.Core.LoggingEvent.HostNameProperty">
  13694. <summary>
  13695. The key into the Properties map for the host name value.
  13696. </summary>
  13697. </member>
  13698. <member name="F:log4net.Core.LoggingEvent.IdentityProperty">
  13699. <summary>
  13700. The key into the Properties map for the thread identity value.
  13701. </summary>
  13702. </member>
  13703. <member name="F:log4net.Core.LoggingEvent.UserNameProperty">
  13704. <summary>
  13705. The key into the Properties map for the user name value.
  13706. </summary>
  13707. </member>
  13708. <member name="T:log4net.Core.LogImpl">
  13709. <summary>
  13710. Implementation of <see cref="T:log4net.ILog"/> wrapper interface.
  13711. </summary>
  13712. <remarks>
  13713. <para>
  13714. This implementation of the <see cref="T:log4net.ILog"/> interface
  13715. forwards to the <see cref="T:log4net.Core.ILogger"/> held by the base class.
  13716. </para>
  13717. <para>
  13718. This logger has methods to allow the caller to log at the following
  13719. levels:
  13720. </para>
  13721. <list type="definition">
  13722. <item>
  13723. <term>DEBUG</term>
  13724. <description>
  13725. The <see cref="M:Debug(object)"/> and <see cref="M:DebugFormat(string, object[])"/> methods log messages
  13726. at the <c>DEBUG</c> level. That is the level with that name defined in the
  13727. repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
  13728. for this level is <see cref="F:log4net.Core.Level.Debug"/>. The <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
  13729. property tests if this level is enabled for logging.
  13730. </description>
  13731. </item>
  13732. <item>
  13733. <term>INFO</term>
  13734. <description>
  13735. The <see cref="M:Info(object)"/> and <see cref="M:InfoFormat(string, object[])"/> methods log messages
  13736. at the <c>INFO</c> level. That is the level with that name defined in the
  13737. repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
  13738. for this level is <see cref="F:log4net.Core.Level.Info"/>. The <see cref="P:log4net.Core.LogImpl.IsInfoEnabled"/>
  13739. property tests if this level is enabled for logging.
  13740. </description>
  13741. </item>
  13742. <item>
  13743. <term>WARN</term>
  13744. <description>
  13745. The <see cref="M:Warn(object)"/> and <see cref="M:WarnFormat(string, object[])"/> methods log messages
  13746. at the <c>WARN</c> level. That is the level with that name defined in the
  13747. repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
  13748. for this level is <see cref="F:log4net.Core.Level.Warn"/>. The <see cref="P:log4net.Core.LogImpl.IsWarnEnabled"/>
  13749. property tests if this level is enabled for logging.
  13750. </description>
  13751. </item>
  13752. <item>
  13753. <term>ERROR</term>
  13754. <description>
  13755. The <see cref="M:Error(object)"/> and <see cref="M:ErrorFormat(string, object[])"/> methods log messages
  13756. at the <c>ERROR</c> level. That is the level with that name defined in the
  13757. repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
  13758. for this level is <see cref="F:log4net.Core.Level.Error"/>. The <see cref="P:log4net.Core.LogImpl.IsErrorEnabled"/>
  13759. property tests if this level is enabled for logging.
  13760. </description>
  13761. </item>
  13762. <item>
  13763. <term>FATAL</term>
  13764. <description>
  13765. The <see cref="M:Fatal(object)"/> and <see cref="M:FatalFormat(string, object[])"/> methods log messages
  13766. at the <c>FATAL</c> level. That is the level with that name defined in the
  13767. repositories <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/>. The default value
  13768. for this level is <see cref="F:log4net.Core.Level.Fatal"/>. The <see cref="P:log4net.Core.LogImpl.IsFatalEnabled"/>
  13769. property tests if this level is enabled for logging.
  13770. </description>
  13771. </item>
  13772. </list>
  13773. <para>
  13774. The values for these levels and their semantic meanings can be changed by
  13775. configuring the <see cref="P:log4net.Repository.ILoggerRepository.LevelMap"/> for the repository.
  13776. </para>
  13777. </remarks>
  13778. <author>Nicko Cadell</author>
  13779. <author>Gert Driesen</author>
  13780. </member>
  13781. <member name="M:log4net.Core.LogImpl.#ctor(log4net.Core.ILogger)">
  13782. <summary>
  13783. Construct a new wrapper for the specified logger.
  13784. </summary>
  13785. <param name="logger">The logger to wrap.</param>
  13786. <remarks>
  13787. <para>
  13788. Construct a new wrapper for the specified logger.
  13789. </para>
  13790. </remarks>
  13791. </member>
  13792. <member name="M:log4net.Core.LogImpl.ReloadLevels(log4net.Repository.ILoggerRepository)">
  13793. <summary>
  13794. Virtual method called when the configuration of the repository changes
  13795. </summary>
  13796. <param name="repository">the repository holding the levels</param>
  13797. <remarks>
  13798. <para>
  13799. Virtual method called when the configuration of the repository changes
  13800. </para>
  13801. </remarks>
  13802. </member>
  13803. <member name="M:log4net.Core.LogImpl.Debug(System.Object)">
  13804. <summary>
  13805. Logs a message object with the <c>DEBUG</c> level.
  13806. </summary>
  13807. <param name="message">The message object to log.</param>
  13808. <remarks>
  13809. <para>
  13810. This method first checks if this logger is <c>DEBUG</c>
  13811. enabled by comparing the level of this logger with the
  13812. <c>DEBUG</c> level. If this logger is
  13813. <c>DEBUG</c> enabled, then it converts the message object
  13814. (passed as parameter) to a string by invoking the appropriate
  13815. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  13816. proceeds to call all the registered appenders in this logger
  13817. and also higher in the hierarchy depending on the value of the
  13818. additivity flag.
  13819. </para>
  13820. <para>
  13821. <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  13822. to this method will print the name of the <see cref="T:System.Exception"/>
  13823. but no stack trace. To print a stack trace use the
  13824. <see cref="M:Debug(object,Exception)"/> form instead.
  13825. </para>
  13826. </remarks>
  13827. </member>
  13828. <member name="M:log4net.Core.LogImpl.Debug(System.Object,System.Exception)">
  13829. <summary>
  13830. Logs a message object with the <c>DEBUG</c> level
  13831. </summary>
  13832. <param name="message">The message object to log.</param>
  13833. <param name="exception">The exception to log, including its stack trace.</param>
  13834. <remarks>
  13835. <para>
  13836. Logs a message object with the <c>DEBUG</c> level including
  13837. the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/> passed
  13838. as a parameter.
  13839. </para>
  13840. <para>
  13841. See the <see cref="M:Debug(object)"/> form for more detailed information.
  13842. </para>
  13843. </remarks>
  13844. <seealso cref="M:Debug(object)"/>
  13845. </member>
  13846. <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object[])">
  13847. <summary>
  13848. Logs a formatted message string with the <c>DEBUG</c> level.
  13849. </summary>
  13850. <param name="format">A String containing zero or more format items</param>
  13851. <param name="args">An Object array containing zero or more objects to format</param>
  13852. <remarks>
  13853. <para>
  13854. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  13855. <c>String.Format</c> for details of the syntax of the format string and the behavior
  13856. of the formatting.
  13857. </para>
  13858. <para>
  13859. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  13860. format provider. To specify a localized provider use the
  13861. <see cref="M:DebugFormat(IFormatProvider,string,object[])"/> method.
  13862. </para>
  13863. <para>
  13864. This method does not take an <see cref="T:System.Exception"/> object to include in the
  13865. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
  13866. methods instead.
  13867. </para>
  13868. </remarks>
  13869. </member>
  13870. <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object)">
  13871. <summary>
  13872. Logs a formatted message string with the <c>DEBUG</c> level.
  13873. </summary>
  13874. <param name="format">A String containing zero or more format items</param>
  13875. <param name="arg0">An Object to format</param>
  13876. <remarks>
  13877. <para>
  13878. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  13879. <c>String.Format</c> for details of the syntax of the format string and the behavior
  13880. of the formatting.
  13881. </para>
  13882. <para>
  13883. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  13884. format provider. To specify a localized provider use the
  13885. <see cref="M:DebugFormat(IFormatProvider,string,object[])"/> method.
  13886. </para>
  13887. <para>
  13888. This method does not take an <see cref="T:System.Exception"/> object to include in the
  13889. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
  13890. methods instead.
  13891. </para>
  13892. </remarks>
  13893. </member>
  13894. <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object)">
  13895. <summary>
  13896. Logs a formatted message string with the <c>DEBUG</c> level.
  13897. </summary>
  13898. <param name="format">A String containing zero or more format items</param>
  13899. <param name="arg0">An Object to format</param>
  13900. <param name="arg1">An Object to format</param>
  13901. <remarks>
  13902. <para>
  13903. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  13904. <c>String.Format</c> for details of the syntax of the format string and the behavior
  13905. of the formatting.
  13906. </para>
  13907. <para>
  13908. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  13909. format provider. To specify a localized provider use the
  13910. <see cref="M:DebugFormat(IFormatProvider,string,object[])"/> method.
  13911. </para>
  13912. <para>
  13913. This method does not take an <see cref="T:System.Exception"/> object to include in the
  13914. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
  13915. methods instead.
  13916. </para>
  13917. </remarks>
  13918. </member>
  13919. <member name="M:log4net.Core.LogImpl.DebugFormat(System.String,System.Object,System.Object,System.Object)">
  13920. <summary>
  13921. Logs a formatted message string with the <c>DEBUG</c> level.
  13922. </summary>
  13923. <param name="format">A String containing zero or more format items</param>
  13924. <param name="arg0">An Object to format</param>
  13925. <param name="arg1">An Object to format</param>
  13926. <param name="arg2">An Object to format</param>
  13927. <remarks>
  13928. <para>
  13929. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  13930. <c>String.Format</c> for details of the syntax of the format string and the behavior
  13931. of the formatting.
  13932. </para>
  13933. <para>
  13934. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  13935. format provider. To specify a localized provider use the
  13936. <see cref="M:DebugFormat(IFormatProvider,string,object[])"/> method.
  13937. </para>
  13938. <para>
  13939. This method does not take an <see cref="T:System.Exception"/> object to include in the
  13940. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
  13941. methods instead.
  13942. </para>
  13943. </remarks>
  13944. </member>
  13945. <member name="M:log4net.Core.LogImpl.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
  13946. <summary>
  13947. Logs a formatted message string with the <c>DEBUG</c> level.
  13948. </summary>
  13949. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  13950. <param name="format">A String containing zero or more format items</param>
  13951. <param name="args">An Object array containing zero or more objects to format</param>
  13952. <remarks>
  13953. <para>
  13954. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  13955. <c>String.Format</c> for details of the syntax of the format string and the behavior
  13956. of the formatting.
  13957. </para>
  13958. <para>
  13959. This method does not take an <see cref="T:System.Exception"/> object to include in the
  13960. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object)"/>
  13961. methods instead.
  13962. </para>
  13963. </remarks>
  13964. </member>
  13965. <member name="M:log4net.Core.LogImpl.Info(System.Object)">
  13966. <summary>
  13967. Logs a message object with the <c>INFO</c> level.
  13968. </summary>
  13969. <param name="message">The message object to log.</param>
  13970. <remarks>
  13971. <para>
  13972. This method first checks if this logger is <c>INFO</c>
  13973. enabled by comparing the level of this logger with the
  13974. <c>INFO</c> level. If this logger is
  13975. <c>INFO</c> enabled, then it converts the message object
  13976. (passed as parameter) to a string by invoking the appropriate
  13977. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  13978. proceeds to call all the registered appenders in this logger
  13979. and also higher in the hierarchy depending on the value of
  13980. the additivity flag.
  13981. </para>
  13982. <para>
  13983. <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  13984. to this method will print the name of the <see cref="T:System.Exception"/>
  13985. but no stack trace. To print a stack trace use the
  13986. <see cref="M:Info(object,Exception)"/> form instead.
  13987. </para>
  13988. </remarks>
  13989. </member>
  13990. <member name="M:log4net.Core.LogImpl.Info(System.Object,System.Exception)">
  13991. <summary>
  13992. Logs a message object with the <c>INFO</c> level.
  13993. </summary>
  13994. <param name="message">The message object to log.</param>
  13995. <param name="exception">The exception to log, including its stack trace.</param>
  13996. <remarks>
  13997. <para>
  13998. Logs a message object with the <c>INFO</c> level including
  13999. the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/>
  14000. passed as a parameter.
  14001. </para>
  14002. <para>
  14003. See the <see cref="M:Info(object)"/> form for more detailed information.
  14004. </para>
  14005. </remarks>
  14006. <seealso cref="M:Info(object)"/>
  14007. </member>
  14008. <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object[])">
  14009. <summary>
  14010. Logs a formatted message string with the <c>INFO</c> level.
  14011. </summary>
  14012. <param name="format">A String containing zero or more format items</param>
  14013. <param name="args">An Object array containing zero or more objects to format</param>
  14014. <remarks>
  14015. <para>
  14016. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14017. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14018. of the formatting.
  14019. </para>
  14020. <para>
  14021. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14022. format provider. To specify a localized provider use the
  14023. <see cref="M:InfoFormat(IFormatProvider,string,object[])"/> method.
  14024. </para>
  14025. <para>
  14026. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14027. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
  14028. methods instead.
  14029. </para>
  14030. </remarks>
  14031. </member>
  14032. <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object)">
  14033. <summary>
  14034. Logs a formatted message string with the <c>INFO</c> level.
  14035. </summary>
  14036. <param name="format">A String containing zero or more format items</param>
  14037. <param name="arg0">An Object to format</param>
  14038. <remarks>
  14039. <para>
  14040. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14041. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14042. of the formatting.
  14043. </para>
  14044. <para>
  14045. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14046. format provider. To specify a localized provider use the
  14047. <see cref="M:InfoFormat(IFormatProvider,string,object[])"/> method.
  14048. </para>
  14049. <para>
  14050. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14051. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
  14052. methods instead.
  14053. </para>
  14054. </remarks>
  14055. </member>
  14056. <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object)">
  14057. <summary>
  14058. Logs a formatted message string with the <c>INFO</c> level.
  14059. </summary>
  14060. <param name="format">A String containing zero or more format items</param>
  14061. <param name="arg0">An Object to format</param>
  14062. <param name="arg1">An Object to format</param>
  14063. <remarks>
  14064. <para>
  14065. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14066. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14067. of the formatting.
  14068. </para>
  14069. <para>
  14070. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14071. format provider. To specify a localized provider use the
  14072. <see cref="M:InfoFormat(IFormatProvider,string,object[])"/> method.
  14073. </para>
  14074. <para>
  14075. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14076. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
  14077. methods instead.
  14078. </para>
  14079. </remarks>
  14080. </member>
  14081. <member name="M:log4net.Core.LogImpl.InfoFormat(System.String,System.Object,System.Object,System.Object)">
  14082. <summary>
  14083. Logs a formatted message string with the <c>INFO</c> level.
  14084. </summary>
  14085. <param name="format">A String containing zero or more format items</param>
  14086. <param name="arg0">An Object to format</param>
  14087. <param name="arg1">An Object to format</param>
  14088. <param name="arg2">An Object to format</param>
  14089. <remarks>
  14090. <para>
  14091. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14092. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14093. of the formatting.
  14094. </para>
  14095. <para>
  14096. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14097. format provider. To specify a localized provider use the
  14098. <see cref="M:InfoFormat(IFormatProvider,string,object[])"/> method.
  14099. </para>
  14100. <para>
  14101. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14102. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
  14103. methods instead.
  14104. </para>
  14105. </remarks>
  14106. </member>
  14107. <member name="M:log4net.Core.LogImpl.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
  14108. <summary>
  14109. Logs a formatted message string with the <c>INFO</c> level.
  14110. </summary>
  14111. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  14112. <param name="format">A String containing zero or more format items</param>
  14113. <param name="args">An Object array containing zero or more objects to format</param>
  14114. <remarks>
  14115. <para>
  14116. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14117. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14118. of the formatting.
  14119. </para>
  14120. <para>
  14121. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14122. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
  14123. methods instead.
  14124. </para>
  14125. </remarks>
  14126. </member>
  14127. <member name="M:log4net.Core.LogImpl.Warn(System.Object)">
  14128. <summary>
  14129. Logs a message object with the <c>WARN</c> level.
  14130. </summary>
  14131. <param name="message">the message object to log</param>
  14132. <remarks>
  14133. <para>
  14134. This method first checks if this logger is <c>WARN</c>
  14135. enabled by comparing the level of this logger with the
  14136. <c>WARN</c> level. If this logger is
  14137. <c>WARN</c> enabled, then it converts the message object
  14138. (passed as parameter) to a string by invoking the appropriate
  14139. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  14140. proceeds to call all the registered appenders in this logger and
  14141. also higher in the hierarchy depending on the value of the
  14142. additivity flag.
  14143. </para>
  14144. <para>
  14145. <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
  14146. method will print the name of the <see cref="T:System.Exception"/> but no
  14147. stack trace. To print a stack trace use the
  14148. <see cref="M:Warn(object,Exception)"/> form instead.
  14149. </para>
  14150. </remarks>
  14151. </member>
  14152. <member name="M:log4net.Core.LogImpl.Warn(System.Object,System.Exception)">
  14153. <summary>
  14154. Logs a message object with the <c>WARN</c> level
  14155. </summary>
  14156. <param name="message">The message object to log.</param>
  14157. <param name="exception">The exception to log, including its stack trace.</param>
  14158. <remarks>
  14159. <para>
  14160. Logs a message object with the <c>WARN</c> level including
  14161. the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/>
  14162. passed as a parameter.
  14163. </para>
  14164. <para>
  14165. See the <see cref="M:Warn(object)"/> form for more detailed information.
  14166. </para>
  14167. </remarks>
  14168. <seealso cref="M:Warn(object)"/>
  14169. </member>
  14170. <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object[])">
  14171. <summary>
  14172. Logs a formatted message string with the <c>WARN</c> level.
  14173. </summary>
  14174. <param name="format">A String containing zero or more format items</param>
  14175. <param name="args">An Object array containing zero or more objects to format</param>
  14176. <remarks>
  14177. <para>
  14178. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14179. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14180. of the formatting.
  14181. </para>
  14182. <para>
  14183. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14184. format provider. To specify a localized provider use the
  14185. <see cref="M:WarnFormat(IFormatProvider,string,object[])"/> method.
  14186. </para>
  14187. <para>
  14188. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14189. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
  14190. methods instead.
  14191. </para>
  14192. </remarks>
  14193. </member>
  14194. <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object)">
  14195. <summary>
  14196. Logs a formatted message string with the <c>WARN</c> level.
  14197. </summary>
  14198. <param name="format">A String containing zero or more format items</param>
  14199. <param name="arg0">An Object to format</param>
  14200. <remarks>
  14201. <para>
  14202. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14203. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14204. of the formatting.
  14205. </para>
  14206. <para>
  14207. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14208. format provider. To specify a localized provider use the
  14209. <see cref="M:WarnFormat(IFormatProvider,string,object[])"/> method.
  14210. </para>
  14211. <para>
  14212. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14213. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
  14214. methods instead.
  14215. </para>
  14216. </remarks>
  14217. </member>
  14218. <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object)">
  14219. <summary>
  14220. Logs a formatted message string with the <c>WARN</c> level.
  14221. </summary>
  14222. <param name="format">A String containing zero or more format items</param>
  14223. <param name="arg0">An Object to format</param>
  14224. <param name="arg1">An Object to format</param>
  14225. <remarks>
  14226. <para>
  14227. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14228. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14229. of the formatting.
  14230. </para>
  14231. <para>
  14232. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14233. format provider. To specify a localized provider use the
  14234. <see cref="M:WarnFormat(IFormatProvider,string,object[])"/> method.
  14235. </para>
  14236. <para>
  14237. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14238. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
  14239. methods instead.
  14240. </para>
  14241. </remarks>
  14242. </member>
  14243. <member name="M:log4net.Core.LogImpl.WarnFormat(System.String,System.Object,System.Object,System.Object)">
  14244. <summary>
  14245. Logs a formatted message string with the <c>WARN</c> level.
  14246. </summary>
  14247. <param name="format">A String containing zero or more format items</param>
  14248. <param name="arg0">An Object to format</param>
  14249. <param name="arg1">An Object to format</param>
  14250. <param name="arg2">An Object to format</param>
  14251. <remarks>
  14252. <para>
  14253. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14254. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14255. of the formatting.
  14256. </para>
  14257. <para>
  14258. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14259. format provider. To specify a localized provider use the
  14260. <see cref="M:WarnFormat(IFormatProvider,string,object[])"/> method.
  14261. </para>
  14262. <para>
  14263. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14264. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
  14265. methods instead.
  14266. </para>
  14267. </remarks>
  14268. </member>
  14269. <member name="M:log4net.Core.LogImpl.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
  14270. <summary>
  14271. Logs a formatted message string with the <c>WARN</c> level.
  14272. </summary>
  14273. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  14274. <param name="format">A String containing zero or more format items</param>
  14275. <param name="args">An Object array containing zero or more objects to format</param>
  14276. <remarks>
  14277. <para>
  14278. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14279. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14280. of the formatting.
  14281. </para>
  14282. <para>
  14283. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14284. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
  14285. methods instead.
  14286. </para>
  14287. </remarks>
  14288. </member>
  14289. <member name="M:log4net.Core.LogImpl.Error(System.Object)">
  14290. <summary>
  14291. Logs a message object with the <c>ERROR</c> level.
  14292. </summary>
  14293. <param name="message">The message object to log.</param>
  14294. <remarks>
  14295. <para>
  14296. This method first checks if this logger is <c>ERROR</c>
  14297. enabled by comparing the level of this logger with the
  14298. <c>ERROR</c> level. If this logger is
  14299. <c>ERROR</c> enabled, then it converts the message object
  14300. (passed as parameter) to a string by invoking the appropriate
  14301. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  14302. proceeds to call all the registered appenders in this logger and
  14303. also higher in the hierarchy depending on the value of the
  14304. additivity flag.
  14305. </para>
  14306. <para>
  14307. <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
  14308. method will print the name of the <see cref="T:System.Exception"/> but no
  14309. stack trace. To print a stack trace use the
  14310. <see cref="M:Error(object,Exception)"/> form instead.
  14311. </para>
  14312. </remarks>
  14313. </member>
  14314. <member name="M:log4net.Core.LogImpl.Error(System.Object,System.Exception)">
  14315. <summary>
  14316. Logs a message object with the <c>ERROR</c> level
  14317. </summary>
  14318. <param name="message">The message object to log.</param>
  14319. <param name="exception">The exception to log, including its stack trace.</param>
  14320. <remarks>
  14321. <para>
  14322. Logs a message object with the <c>ERROR</c> level including
  14323. the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/>
  14324. passed as a parameter.
  14325. </para>
  14326. <para>
  14327. See the <see cref="M:Error(object)"/> form for more detailed information.
  14328. </para>
  14329. </remarks>
  14330. <seealso cref="M:Error(object)"/>
  14331. </member>
  14332. <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object[])">
  14333. <summary>
  14334. Logs a formatted message string with the <c>ERROR</c> level.
  14335. </summary>
  14336. <param name="format">A String containing zero or more format items</param>
  14337. <param name="args">An Object array containing zero or more objects to format</param>
  14338. <remarks>
  14339. <para>
  14340. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14341. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14342. of the formatting.
  14343. </para>
  14344. <para>
  14345. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14346. format provider. To specify a localized provider use the
  14347. <see cref="M:ErrorFormat(IFormatProvider,string,object[])"/> method.
  14348. </para>
  14349. <para>
  14350. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14351. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
  14352. methods instead.
  14353. </para>
  14354. </remarks>
  14355. </member>
  14356. <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object)">
  14357. <summary>
  14358. Logs a formatted message string with the <c>ERROR</c> level.
  14359. </summary>
  14360. <param name="format">A String containing zero or more format items</param>
  14361. <param name="arg0">An Object to format</param>
  14362. <remarks>
  14363. <para>
  14364. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14365. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14366. of the formatting.
  14367. </para>
  14368. <para>
  14369. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14370. format provider. To specify a localized provider use the
  14371. <see cref="M:ErrorFormat(IFormatProvider,string,object[])"/> method.
  14372. </para>
  14373. <para>
  14374. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14375. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
  14376. methods instead.
  14377. </para>
  14378. </remarks>
  14379. </member>
  14380. <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object)">
  14381. <summary>
  14382. Logs a formatted message string with the <c>ERROR</c> level.
  14383. </summary>
  14384. <param name="format">A String containing zero or more format items</param>
  14385. <param name="arg0">An Object to format</param>
  14386. <param name="arg1">An Object to format</param>
  14387. <remarks>
  14388. <para>
  14389. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14390. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14391. of the formatting.
  14392. </para>
  14393. <para>
  14394. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14395. format provider. To specify a localized provider use the
  14396. <see cref="M:ErrorFormat(IFormatProvider,string,object[])"/> method.
  14397. </para>
  14398. <para>
  14399. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14400. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
  14401. methods instead.
  14402. </para>
  14403. </remarks>
  14404. </member>
  14405. <member name="M:log4net.Core.LogImpl.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
  14406. <summary>
  14407. Logs a formatted message string with the <c>ERROR</c> level.
  14408. </summary>
  14409. <param name="format">A String containing zero or more format items</param>
  14410. <param name="arg0">An Object to format</param>
  14411. <param name="arg1">An Object to format</param>
  14412. <param name="arg2">An Object to format</param>
  14413. <remarks>
  14414. <para>
  14415. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14416. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14417. of the formatting.
  14418. </para>
  14419. <para>
  14420. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14421. format provider. To specify a localized provider use the
  14422. <see cref="M:ErrorFormat(IFormatProvider,string,object[])"/> method.
  14423. </para>
  14424. <para>
  14425. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14426. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
  14427. methods instead.
  14428. </para>
  14429. </remarks>
  14430. </member>
  14431. <member name="M:log4net.Core.LogImpl.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
  14432. <summary>
  14433. Logs a formatted message string with the <c>ERROR</c> level.
  14434. </summary>
  14435. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  14436. <param name="format">A String containing zero or more format items</param>
  14437. <param name="args">An Object array containing zero or more objects to format</param>
  14438. <remarks>
  14439. <para>
  14440. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14441. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14442. of the formatting.
  14443. </para>
  14444. <para>
  14445. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14446. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
  14447. methods instead.
  14448. </para>
  14449. </remarks>
  14450. </member>
  14451. <member name="M:log4net.Core.LogImpl.Fatal(System.Object)">
  14452. <summary>
  14453. Logs a message object with the <c>FATAL</c> level.
  14454. </summary>
  14455. <param name="message">The message object to log.</param>
  14456. <remarks>
  14457. <para>
  14458. This method first checks if this logger is <c>FATAL</c>
  14459. enabled by comparing the level of this logger with the
  14460. <c>FATAL</c> level. If this logger is
  14461. <c>FATAL</c> enabled, then it converts the message object
  14462. (passed as parameter) to a string by invoking the appropriate
  14463. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  14464. proceeds to call all the registered appenders in this logger and
  14465. also higher in the hierarchy depending on the value of the
  14466. additivity flag.
  14467. </para>
  14468. <para>
  14469. <b>WARNING</b> Note that passing an <see cref="T:System.Exception"/> to this
  14470. method will print the name of the <see cref="T:System.Exception"/> but no
  14471. stack trace. To print a stack trace use the
  14472. <see cref="M:Fatal(object,Exception)"/> form instead.
  14473. </para>
  14474. </remarks>
  14475. </member>
  14476. <member name="M:log4net.Core.LogImpl.Fatal(System.Object,System.Exception)">
  14477. <summary>
  14478. Logs a message object with the <c>FATAL</c> level
  14479. </summary>
  14480. <param name="message">The message object to log.</param>
  14481. <param name="exception">The exception to log, including its stack trace.</param>
  14482. <remarks>
  14483. <para>
  14484. Logs a message object with the <c>FATAL</c> level including
  14485. the stack trace of the <see cref="T:System.Exception"/> <paramref name="exception"/>
  14486. passed as a parameter.
  14487. </para>
  14488. <para>
  14489. See the <see cref="M:Fatal(object)"/> form for more detailed information.
  14490. </para>
  14491. </remarks>
  14492. <seealso cref="M:Fatal(object)"/>
  14493. </member>
  14494. <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object[])">
  14495. <summary>
  14496. Logs a formatted message string with the <c>FATAL</c> level.
  14497. </summary>
  14498. <param name="format">A String containing zero or more format items</param>
  14499. <param name="args">An Object array containing zero or more objects to format</param>
  14500. <remarks>
  14501. <para>
  14502. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14503. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14504. of the formatting.
  14505. </para>
  14506. <para>
  14507. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14508. format provider. To specify a localized provider use the
  14509. <see cref="M:FatalFormat(IFormatProvider,string,object[])"/> method.
  14510. </para>
  14511. <para>
  14512. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14513. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
  14514. methods instead.
  14515. </para>
  14516. </remarks>
  14517. </member>
  14518. <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object)">
  14519. <summary>
  14520. Logs a formatted message string with the <c>FATAL</c> level.
  14521. </summary>
  14522. <param name="format">A String containing zero or more format items</param>
  14523. <param name="arg0">An Object to format</param>
  14524. <remarks>
  14525. <para>
  14526. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14527. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14528. of the formatting.
  14529. </para>
  14530. <para>
  14531. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14532. format provider. To specify a localized provider use the
  14533. <see cref="M:FatalFormat(IFormatProvider,string,object[])"/> method.
  14534. </para>
  14535. <para>
  14536. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14537. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
  14538. methods instead.
  14539. </para>
  14540. </remarks>
  14541. </member>
  14542. <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object)">
  14543. <summary>
  14544. Logs a formatted message string with the <c>FATAL</c> level.
  14545. </summary>
  14546. <param name="format">A String containing zero or more format items</param>
  14547. <param name="arg0">An Object to format</param>
  14548. <param name="arg1">An Object to format</param>
  14549. <remarks>
  14550. <para>
  14551. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14552. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14553. of the formatting.
  14554. </para>
  14555. <para>
  14556. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14557. format provider. To specify a localized provider use the
  14558. <see cref="M:FatalFormat(IFormatProvider,string,object[])"/> method.
  14559. </para>
  14560. <para>
  14561. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14562. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
  14563. methods instead.
  14564. </para>
  14565. </remarks>
  14566. </member>
  14567. <member name="M:log4net.Core.LogImpl.FatalFormat(System.String,System.Object,System.Object,System.Object)">
  14568. <summary>
  14569. Logs a formatted message string with the <c>FATAL</c> level.
  14570. </summary>
  14571. <param name="format">A String containing zero or more format items</param>
  14572. <param name="arg0">An Object to format</param>
  14573. <param name="arg1">An Object to format</param>
  14574. <param name="arg2">An Object to format</param>
  14575. <remarks>
  14576. <para>
  14577. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14578. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14579. of the formatting.
  14580. </para>
  14581. <para>
  14582. The string is formatted using the <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>
  14583. format provider. To specify a localized provider use the
  14584. <see cref="M:FatalFormat(IFormatProvider,string,object[])"/> method.
  14585. </para>
  14586. <para>
  14587. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14588. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
  14589. methods instead.
  14590. </para>
  14591. </remarks>
  14592. </member>
  14593. <member name="M:log4net.Core.LogImpl.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
  14594. <summary>
  14595. Logs a formatted message string with the <c>FATAL</c> level.
  14596. </summary>
  14597. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  14598. <param name="format">A String containing zero or more format items</param>
  14599. <param name="args">An Object array containing zero or more objects to format</param>
  14600. <remarks>
  14601. <para>
  14602. The message is formatted using the <see cref="M:String.Format(IFormatProvider, string, object[])"/> method. See
  14603. <c>String.Format</c> for details of the syntax of the format string and the behavior
  14604. of the formatting.
  14605. </para>
  14606. <para>
  14607. This method does not take an <see cref="T:System.Exception"/> object to include in the
  14608. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
  14609. methods instead.
  14610. </para>
  14611. </remarks>
  14612. </member>
  14613. <member name="P:log4net.Core.LogImpl.IsDebugEnabled">
  14614. <summary>
  14615. Checks if this logger is enabled for the <c>DEBUG</c>
  14616. level.
  14617. </summary>
  14618. <value>
  14619. <c>true</c> if this logger is enabled for <c>DEBUG</c> events,
  14620. <c>false</c> otherwise.
  14621. </value>
  14622. <remarks>
  14623. <para>
  14624. This function is intended to lessen the computational cost of
  14625. disabled log debug statements.
  14626. </para>
  14627. <para>
  14628. For some <c>log</c> Logger object, when you write:
  14629. </para>
  14630. <code lang="C#">
  14631. log.Debug("This is entry number: " + i );
  14632. </code>
  14633. <para>
  14634. You incur the cost constructing the message, concatenation in
  14635. this case, regardless of whether the message is logged or not.
  14636. </para>
  14637. <para>
  14638. If you are worried about speed, then you should write:
  14639. </para>
  14640. <code lang="C#">
  14641. if (log.IsDebugEnabled())
  14642. {
  14643. log.Debug("This is entry number: " + i );
  14644. }
  14645. </code>
  14646. <para>
  14647. This way you will not incur the cost of parameter
  14648. construction if debugging is disabled for <c>log</c>. On
  14649. the other hand, if the <c>log</c> is debug enabled, you
  14650. will incur the cost of evaluating whether the logger is debug
  14651. enabled twice. Once in <c>IsDebugEnabled</c> and once in
  14652. the <c>Debug</c>. This is an insignificant overhead
  14653. since evaluating a logger takes about 1% of the time it
  14654. takes to actually log.
  14655. </para>
  14656. </remarks>
  14657. </member>
  14658. <member name="P:log4net.Core.LogImpl.IsInfoEnabled">
  14659. <summary>
  14660. Checks if this logger is enabled for the <c>INFO</c> level.
  14661. </summary>
  14662. <value>
  14663. <c>true</c> if this logger is enabled for <c>INFO</c> events,
  14664. <c>false</c> otherwise.
  14665. </value>
  14666. <remarks>
  14667. <para>
  14668. See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples
  14669. of using this method.
  14670. </para>
  14671. </remarks>
  14672. <seealso cref="P:log4net.Core.LogImpl.IsDebugEnabled"/>
  14673. </member>
  14674. <member name="P:log4net.Core.LogImpl.IsWarnEnabled">
  14675. <summary>
  14676. Checks if this logger is enabled for the <c>WARN</c> level.
  14677. </summary>
  14678. <value>
  14679. <c>true</c> if this logger is enabled for <c>WARN</c> events,
  14680. <c>false</c> otherwise.
  14681. </value>
  14682. <remarks>
  14683. <para>
  14684. See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples
  14685. of using this method.
  14686. </para>
  14687. </remarks>
  14688. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  14689. </member>
  14690. <member name="P:log4net.Core.LogImpl.IsErrorEnabled">
  14691. <summary>
  14692. Checks if this logger is enabled for the <c>ERROR</c> level.
  14693. </summary>
  14694. <value>
  14695. <c>true</c> if this logger is enabled for <c>ERROR</c> events,
  14696. <c>false</c> otherwise.
  14697. </value>
  14698. <remarks>
  14699. <para>
  14700. See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
  14701. </para>
  14702. </remarks>
  14703. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  14704. </member>
  14705. <member name="P:log4net.Core.LogImpl.IsFatalEnabled">
  14706. <summary>
  14707. Checks if this logger is enabled for the <c>FATAL</c> level.
  14708. </summary>
  14709. <value>
  14710. <c>true</c> if this logger is enabled for <c>FATAL</c> events,
  14711. <c>false</c> otherwise.
  14712. </value>
  14713. <remarks>
  14714. <para>
  14715. See <see cref="P:log4net.Core.LogImpl.IsDebugEnabled"/> for more information and examples of using this method.
  14716. </para>
  14717. </remarks>
  14718. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  14719. </member>
  14720. <member name="M:log4net.Core.LogImpl.LoggerRepositoryConfigurationChanged(System.Object,System.EventArgs)">
  14721. <summary>
  14722. Event handler for the <see cref="E:log4net.Repository.ILoggerRepository.ConfigurationChanged"/> event
  14723. </summary>
  14724. <param name="sender">the repository</param>
  14725. <param name="e">Empty</param>
  14726. </member>
  14727. <member name="F:log4net.Core.LogImpl.ThisDeclaringType">
  14728. <summary>
  14729. The fully qualified name of this declaring type not the type of any subclass.
  14730. </summary>
  14731. </member>
  14732. <member name="T:log4net.Core.MethodItem">
  14733. <summary>
  14734. provides method information without actually referencing a System.Reflection.MethodBase
  14735. as that would require that the containing assembly is loaded.
  14736. </summary>
  14737. </member>
  14738. <member name="M:log4net.Core.MethodItem.#ctor">
  14739. <summary>
  14740. constructs a method item for an unknown method.
  14741. </summary>
  14742. </member>
  14743. <member name="M:log4net.Core.MethodItem.#ctor(System.String)">
  14744. <summary>
  14745. constructs a method item from the name of the method.
  14746. </summary>
  14747. <param name="name"></param>
  14748. </member>
  14749. <member name="M:log4net.Core.MethodItem.#ctor(System.String,System.String[])">
  14750. <summary>
  14751. constructs a method item from the name of the method and its parameters.
  14752. </summary>
  14753. <param name="name"></param>
  14754. <param name="parameters"></param>
  14755. </member>
  14756. <member name="M:log4net.Core.MethodItem.#ctor(System.Reflection.MethodBase)">
  14757. <summary>
  14758. constructs a method item from a method base by determining the method name and its parameters.
  14759. </summary>
  14760. <param name="methodBase"></param>
  14761. </member>
  14762. <member name="P:log4net.Core.MethodItem.Name">
  14763. <summary>
  14764. Gets the method name of the caller making the logging
  14765. request.
  14766. </summary>
  14767. <value>
  14768. The method name of the caller making the logging
  14769. request.
  14770. </value>
  14771. <remarks>
  14772. <para>
  14773. Gets the method name of the caller making the logging
  14774. request.
  14775. </para>
  14776. </remarks>
  14777. </member>
  14778. <member name="P:log4net.Core.MethodItem.Parameters">
  14779. <summary>
  14780. Gets the method parameters of the caller making
  14781. the logging request.
  14782. </summary>
  14783. <value>
  14784. The method parameters of the caller making
  14785. the logging request
  14786. </value>
  14787. <remarks>
  14788. <para>
  14789. Gets the method parameters of the caller making
  14790. the logging request.
  14791. </para>
  14792. </remarks>
  14793. </member>
  14794. <member name="F:log4net.Core.MethodItem.declaringType">
  14795. <summary>
  14796. The fully qualified type of the StackFrameItem class.
  14797. </summary>
  14798. <remarks>
  14799. Used by the internal logger to record the Type of the
  14800. log message.
  14801. </remarks>
  14802. </member>
  14803. <member name="F:log4net.Core.MethodItem.NA">
  14804. <summary>
  14805. When location information is not available the constant
  14806. <c>NA</c> is returned. Current value of this string
  14807. constant is <b>?</b>.
  14808. </summary>
  14809. </member>
  14810. <member name="T:log4net.Core.SecurityContext">
  14811. <summary>
  14812. A SecurityContext used by log4net when interacting with protected resources
  14813. </summary>
  14814. <remarks>
  14815. <para>
  14816. A SecurityContext used by log4net when interacting with protected resources
  14817. for example with operating system services. This can be used to impersonate
  14818. a principal that has been granted privileges on the system resources.
  14819. </para>
  14820. </remarks>
  14821. <author>Nicko Cadell</author>
  14822. </member>
  14823. <member name="M:log4net.Core.SecurityContext.Impersonate(System.Object)">
  14824. <summary>
  14825. Impersonate this SecurityContext
  14826. </summary>
  14827. <param name="state">State supplied by the caller</param>
  14828. <returns>An <see cref="T:System.IDisposable"/> instance that will
  14829. revoke the impersonation of this SecurityContext, or <c>null</c></returns>
  14830. <remarks>
  14831. <para>
  14832. Impersonate this security context. Further calls on the current
  14833. thread should now be made in the security context provided
  14834. by this object. When the <see cref="T:System.IDisposable"/> result
  14835. <see cref="M:System.IDisposable.Dispose"/> method is called the security
  14836. context of the thread should be reverted to the state it was in
  14837. before <see cref="M:log4net.Core.SecurityContext.Impersonate(System.Object)"/> was called.
  14838. </para>
  14839. </remarks>
  14840. </member>
  14841. <member name="T:log4net.Core.SecurityContextProvider">
  14842. <summary>
  14843. The <see cref="T:log4net.Core.SecurityContextProvider"/> providers default <see cref="T:log4net.Core.SecurityContext"/> instances.
  14844. </summary>
  14845. <remarks>
  14846. <para>
  14847. A configured component that interacts with potentially protected system
  14848. resources uses a <see cref="T:log4net.Core.SecurityContext"/> to provide the elevated
  14849. privileges required. If the <see cref="T:log4net.Core.SecurityContext"/> object has
  14850. been not been explicitly provided to the component then the component
  14851. will request one from this <see cref="T:log4net.Core.SecurityContextProvider"/>.
  14852. </para>
  14853. <para>
  14854. By default the <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> is
  14855. an instance of <see cref="T:log4net.Core.SecurityContextProvider"/> which returns only
  14856. <see cref="T:log4net.Util.NullSecurityContext"/> objects. This is a reasonable default
  14857. where the privileges required are not know by the system.
  14858. </para>
  14859. <para>
  14860. This default behavior can be overridden by subclassing the <see cref="T:log4net.Core.SecurityContextProvider"/>
  14861. and overriding the <see cref="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)"/> method to return
  14862. the desired <see cref="T:log4net.Core.SecurityContext"/> objects. The default provider
  14863. can be replaced by programmatically setting the value of the
  14864. <see cref="P:log4net.Core.SecurityContextProvider.DefaultProvider"/> property.
  14865. </para>
  14866. <para>
  14867. An alternative is to use the <c>log4net.Config.SecurityContextProviderAttribute</c>
  14868. This attribute can be applied to an assembly in the same way as the
  14869. <c>log4net.Config.XmlConfiguratorAttribute"</c>. The attribute takes
  14870. the type to use as the <see cref="T:log4net.Core.SecurityContextProvider"/> as an argument.
  14871. </para>
  14872. </remarks>
  14873. <author>Nicko Cadell</author>
  14874. </member>
  14875. <member name="F:log4net.Core.SecurityContextProvider.s_defaultProvider">
  14876. <summary>
  14877. The default provider
  14878. </summary>
  14879. </member>
  14880. <member name="P:log4net.Core.SecurityContextProvider.DefaultProvider">
  14881. <summary>
  14882. Gets or sets the default SecurityContextProvider
  14883. </summary>
  14884. <value>
  14885. The default SecurityContextProvider
  14886. </value>
  14887. <remarks>
  14888. <para>
  14889. The default provider is used by configured components that
  14890. require a <see cref="T:log4net.Core.SecurityContext"/> and have not had one
  14891. given to them.
  14892. </para>
  14893. <para>
  14894. By default this is an instance of <see cref="T:log4net.Core.SecurityContextProvider"/>
  14895. that returns <see cref="T:log4net.Util.NullSecurityContext"/> objects.
  14896. </para>
  14897. <para>
  14898. The default provider can be set programmatically by setting
  14899. the value of this property to a sub class of <see cref="T:log4net.Core.SecurityContextProvider"/>
  14900. that has the desired behavior.
  14901. </para>
  14902. </remarks>
  14903. </member>
  14904. <member name="M:log4net.Core.SecurityContextProvider.#ctor">
  14905. <summary>
  14906. Protected default constructor to allow subclassing
  14907. </summary>
  14908. <remarks>
  14909. <para>
  14910. Protected default constructor to allow subclassing
  14911. </para>
  14912. </remarks>
  14913. </member>
  14914. <member name="M:log4net.Core.SecurityContextProvider.CreateSecurityContext(System.Object)">
  14915. <summary>
  14916. Create a SecurityContext for a consumer
  14917. </summary>
  14918. <param name="consumer">The consumer requesting the SecurityContext</param>
  14919. <returns>An impersonation context</returns>
  14920. <remarks>
  14921. <para>
  14922. The default implementation is to return a <see cref="T:log4net.Util.NullSecurityContext"/>.
  14923. </para>
  14924. <para>
  14925. Subclasses should override this method to provide their own
  14926. behavior.
  14927. </para>
  14928. </remarks>
  14929. </member>
  14930. <member name="T:log4net.Core.StackFrameItem">
  14931. <summary>
  14932. provides stack frame information without actually referencing a System.Diagnostics.StackFrame
  14933. as that would require that the containing assembly is loaded.
  14934. </summary>
  14935. </member>
  14936. <member name="M:log4net.Core.StackFrameItem.#ctor(System.Diagnostics.StackFrame)">
  14937. <summary>
  14938. returns a stack frame item from a stack frame. This
  14939. </summary>
  14940. <param name="frame"></param>
  14941. <returns></returns>
  14942. </member>
  14943. <member name="P:log4net.Core.StackFrameItem.ClassName">
  14944. <summary>
  14945. Gets the fully qualified class name of the caller making the logging
  14946. request.
  14947. </summary>
  14948. <value>
  14949. The fully qualified class name of the caller making the logging
  14950. request.
  14951. </value>
  14952. <remarks>
  14953. <para>
  14954. Gets the fully qualified class name of the caller making the logging
  14955. request.
  14956. </para>
  14957. </remarks>
  14958. </member>
  14959. <member name="P:log4net.Core.StackFrameItem.FileName">
  14960. <summary>
  14961. Gets the file name of the caller.
  14962. </summary>
  14963. <value>
  14964. The file name of the caller.
  14965. </value>
  14966. <remarks>
  14967. <para>
  14968. Gets the file name of the caller.
  14969. </para>
  14970. </remarks>
  14971. </member>
  14972. <member name="P:log4net.Core.StackFrameItem.LineNumber">
  14973. <summary>
  14974. Gets the line number of the caller.
  14975. </summary>
  14976. <value>
  14977. The line number of the caller.
  14978. </value>
  14979. <remarks>
  14980. <para>
  14981. Gets the line number of the caller.
  14982. </para>
  14983. </remarks>
  14984. </member>
  14985. <member name="P:log4net.Core.StackFrameItem.Method">
  14986. <summary>
  14987. Gets the method name of the caller.
  14988. </summary>
  14989. <value>
  14990. The method name of the caller.
  14991. </value>
  14992. <remarks>
  14993. <para>
  14994. Gets the method name of the caller.
  14995. </para>
  14996. </remarks>
  14997. </member>
  14998. <member name="P:log4net.Core.StackFrameItem.FullInfo">
  14999. <summary>
  15000. Gets all available caller information
  15001. </summary>
  15002. <value>
  15003. All available caller information, in the format
  15004. <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
  15005. </value>
  15006. <remarks>
  15007. <para>
  15008. Gets all available caller information, in the format
  15009. <c>fully.qualified.classname.of.caller.methodName(Filename:line)</c>
  15010. </para>
  15011. </remarks>
  15012. </member>
  15013. <member name="F:log4net.Core.StackFrameItem.declaringType">
  15014. <summary>
  15015. The fully qualified type of the StackFrameItem class.
  15016. </summary>
  15017. <remarks>
  15018. Used by the internal logger to record the Type of the
  15019. log message.
  15020. </remarks>
  15021. </member>
  15022. <member name="F:log4net.Core.StackFrameItem.NA">
  15023. <summary>
  15024. When location information is not available the constant
  15025. <c>NA</c> is returned. Current value of this string
  15026. constant is <b>?</b>.
  15027. </summary>
  15028. </member>
  15029. <member name="T:log4net.Core.TimeEvaluator">
  15030. <summary>
  15031. An evaluator that triggers after specified number of seconds.
  15032. </summary>
  15033. <remarks>
  15034. <para>
  15035. This evaluator will trigger if the specified time period
  15036. <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
  15037. </para>
  15038. </remarks>
  15039. <author>Robert Sevcik</author>
  15040. </member>
  15041. <member name="F:log4net.Core.TimeEvaluator.m_interval">
  15042. <summary>
  15043. The time threshold for triggering in seconds. Zero means it won't trigger at all.
  15044. </summary>
  15045. </member>
  15046. <member name="F:log4net.Core.TimeEvaluator.m_lastTimeUtc">
  15047. <summary>
  15048. The UTC time of last check. This gets updated when the object is created and when the evaluator triggers.
  15049. </summary>
  15050. </member>
  15051. <member name="F:log4net.Core.TimeEvaluator.DEFAULT_INTERVAL">
  15052. <summary>
  15053. The default time threshold for triggering in seconds. Zero means it won't trigger at all.
  15054. </summary>
  15055. </member>
  15056. <member name="M:log4net.Core.TimeEvaluator.#ctor">
  15057. <summary>
  15058. Create a new evaluator using the <see cref="F:log4net.Core.TimeEvaluator.DEFAULT_INTERVAL"/> time threshold in seconds.
  15059. </summary>
  15060. <remarks>
  15061. <para>
  15062. Create a new evaluator using the <see cref="F:log4net.Core.TimeEvaluator.DEFAULT_INTERVAL"/> time threshold in seconds.
  15063. </para>
  15064. <para>
  15065. This evaluator will trigger if the specified time period
  15066. <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
  15067. </para>
  15068. </remarks>
  15069. </member>
  15070. <member name="M:log4net.Core.TimeEvaluator.#ctor(System.Int32)">
  15071. <summary>
  15072. Create a new evaluator using the specified time threshold in seconds.
  15073. </summary>
  15074. <param name="interval">
  15075. The time threshold in seconds to trigger after.
  15076. Zero means it won't trigger at all.
  15077. </param>
  15078. <remarks>
  15079. <para>
  15080. Create a new evaluator using the specified time threshold in seconds.
  15081. </para>
  15082. <para>
  15083. This evaluator will trigger if the specified time period
  15084. <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
  15085. </para>
  15086. </remarks>
  15087. </member>
  15088. <member name="P:log4net.Core.TimeEvaluator.Interval">
  15089. <summary>
  15090. The time threshold in seconds to trigger after
  15091. </summary>
  15092. <value>
  15093. The time threshold in seconds to trigger after.
  15094. Zero means it won't trigger at all.
  15095. </value>
  15096. <remarks>
  15097. <para>
  15098. This evaluator will trigger if the specified time period
  15099. <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
  15100. </para>
  15101. </remarks>
  15102. </member>
  15103. <member name="M:log4net.Core.TimeEvaluator.IsTriggeringEvent(log4net.Core.LoggingEvent)">
  15104. <summary>
  15105. Is this <paramref name="loggingEvent"/> the triggering event?
  15106. </summary>
  15107. <param name="loggingEvent">The event to check</param>
  15108. <returns>This method returns <c>true</c>, if the specified time period
  15109. <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check..
  15110. Otherwise it returns <c>false</c></returns>
  15111. <remarks>
  15112. <para>
  15113. This evaluator will trigger if the specified time period
  15114. <see cref="P:log4net.Core.TimeEvaluator.Interval"/> has passed since last check.
  15115. </para>
  15116. </remarks>
  15117. </member>
  15118. <member name="T:log4net.Core.WrapperCreationHandler">
  15119. <summary>
  15120. Delegate used to handle creation of new wrappers.
  15121. </summary>
  15122. <param name="logger">The logger to wrap in a wrapper.</param>
  15123. <remarks>
  15124. <para>
  15125. Delegate used to handle creation of new wrappers. This delegate
  15126. is called from the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/>
  15127. method to construct the wrapper for the specified logger.
  15128. </para>
  15129. <para>
  15130. The delegate to use is supplied to the <see cref="T:log4net.Core.WrapperMap"/>
  15131. constructor.
  15132. </para>
  15133. </remarks>
  15134. </member>
  15135. <member name="T:log4net.Core.WrapperMap">
  15136. <summary>
  15137. Maps between logger objects and wrapper objects.
  15138. </summary>
  15139. <remarks>
  15140. <para>
  15141. This class maintains a mapping between <see cref="T:log4net.Core.ILogger"/> objects and
  15142. <see cref="T:log4net.Core.ILoggerWrapper"/> objects. Use the <see cref="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)"/> method to
  15143. lookup the <see cref="T:log4net.Core.ILoggerWrapper"/> for the specified <see cref="T:log4net.Core.ILogger"/>.
  15144. </para>
  15145. <para>
  15146. New wrapper instances are created by the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/>
  15147. method. The default behavior is for this method to delegate construction
  15148. of the wrapper to the <see cref="T:log4net.Core.WrapperCreationHandler"/> delegate supplied
  15149. to the constructor. This allows specialization of the behavior without
  15150. requiring subclassing of this type.
  15151. </para>
  15152. </remarks>
  15153. <author>Nicko Cadell</author>
  15154. <author>Gert Driesen</author>
  15155. </member>
  15156. <member name="M:log4net.Core.WrapperMap.#ctor(log4net.Core.WrapperCreationHandler)">
  15157. <summary>
  15158. Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap" />
  15159. </summary>
  15160. <param name="createWrapperHandler">The handler to use to create the wrapper objects.</param>
  15161. <remarks>
  15162. <para>
  15163. Initializes a new instance of the <see cref="T:log4net.Core.WrapperMap" /> class with
  15164. the specified handler to create the wrapper objects.
  15165. </para>
  15166. </remarks>
  15167. </member>
  15168. <member name="M:log4net.Core.WrapperMap.GetWrapper(log4net.Core.ILogger)">
  15169. <summary>
  15170. Gets the wrapper object for the specified logger.
  15171. </summary>
  15172. <returns>The wrapper object for the specified logger</returns>
  15173. <remarks>
  15174. <para>
  15175. If the logger is null then the corresponding wrapper is null.
  15176. </para>
  15177. <para>
  15178. Looks up the wrapper it it has previously been requested and
  15179. returns it. If the wrapper has never been requested before then
  15180. the <see cref="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)"/> virtual method is
  15181. called.
  15182. </para>
  15183. </remarks>
  15184. </member>
  15185. <member name="P:log4net.Core.WrapperMap.Repositories">
  15186. <summary>
  15187. Gets the map of logger repositories.
  15188. </summary>
  15189. <value>
  15190. Map of logger repositories.
  15191. </value>
  15192. <remarks>
  15193. <para>
  15194. Gets the hashtable that is keyed on <see cref="T:log4net.Repository.ILoggerRepository"/>. The
  15195. values are hashtables keyed on <see cref="T:log4net.Core.ILogger"/> with the
  15196. value being the corresponding <see cref="T:log4net.Core.ILoggerWrapper"/>.
  15197. </para>
  15198. </remarks>
  15199. </member>
  15200. <member name="M:log4net.Core.WrapperMap.CreateNewWrapperObject(log4net.Core.ILogger)">
  15201. <summary>
  15202. Creates the wrapper object for the specified logger.
  15203. </summary>
  15204. <param name="logger">The logger to wrap in a wrapper.</param>
  15205. <returns>The wrapper object for the logger.</returns>
  15206. <remarks>
  15207. <para>
  15208. This implementation uses the <see cref="T:log4net.Core.WrapperCreationHandler"/>
  15209. passed to the constructor to create the wrapper. This method
  15210. can be overridden in a subclass.
  15211. </para>
  15212. </remarks>
  15213. </member>
  15214. <member name="M:log4net.Core.WrapperMap.RepositoryShutdown(log4net.Repository.ILoggerRepository)">
  15215. <summary>
  15216. Called when a monitored repository shutdown event is received.
  15217. </summary>
  15218. <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down</param>
  15219. <remarks>
  15220. <para>
  15221. This method is called when a <see cref="T:log4net.Repository.ILoggerRepository"/> that this
  15222. <see cref="T:log4net.Core.WrapperMap"/> is holding loggers for has signaled its shutdown
  15223. event <see cref="E:log4net.Repository.ILoggerRepository.ShutdownEvent"/>. The default
  15224. behavior of this method is to release the references to the loggers
  15225. and their wrappers generated for this repository.
  15226. </para>
  15227. </remarks>
  15228. </member>
  15229. <member name="M:log4net.Core.WrapperMap.ILoggerRepository_Shutdown(System.Object,System.EventArgs)">
  15230. <summary>
  15231. Event handler for repository shutdown event.
  15232. </summary>
  15233. <param name="sender">The sender of the event.</param>
  15234. <param name="e">The event args.</param>
  15235. </member>
  15236. <member name="F:log4net.Core.WrapperMap.m_repositories">
  15237. <summary>
  15238. Map of logger repositories to hashtables of ILogger to ILoggerWrapper mappings
  15239. </summary>
  15240. </member>
  15241. <member name="F:log4net.Core.WrapperMap.m_createWrapperHandler">
  15242. <summary>
  15243. The handler to use to create the extension wrapper objects.
  15244. </summary>
  15245. </member>
  15246. <member name="F:log4net.Core.WrapperMap.m_shutdownHandler">
  15247. <summary>
  15248. Internal reference to the delegate used to register for repository shutdown events.
  15249. </summary>
  15250. </member>
  15251. <member name="T:log4net.DateFormatter.AbsoluteTimeDateFormatter">
  15252. <summary>
  15253. Formats a <see cref="T:System.DateTime"/> as <c>"HH:mm:ss,fff"</c>.
  15254. </summary>
  15255. <remarks>
  15256. <para>
  15257. Formats a <see cref="T:System.DateTime"/> in the format <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
  15258. </para>
  15259. </remarks>
  15260. <author>Nicko Cadell</author>
  15261. <author>Gert Driesen</author>
  15262. </member>
  15263. <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
  15264. <summary>
  15265. Renders the date into a string. Format is <c>"HH:mm:ss"</c>.
  15266. </summary>
  15267. <param name="dateToFormat">The date to render into a string.</param>
  15268. <param name="buffer">The string builder to write to.</param>
  15269. <remarks>
  15270. <para>
  15271. Subclasses should override this method to render the date
  15272. into a string using a precision up to the second. This method
  15273. will be called at most once per second and the result will be
  15274. reused if it is needed again during the same second.
  15275. </para>
  15276. </remarks>
  15277. </member>
  15278. <member name="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
  15279. <summary>
  15280. Renders the date into a string. Format is "HH:mm:ss,fff".
  15281. </summary>
  15282. <param name="dateToFormat">The date to render into a string.</param>
  15283. <param name="writer">The writer to write to.</param>
  15284. <remarks>
  15285. <para>
  15286. Uses the <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> method to generate the
  15287. time string up to the seconds and then appends the current
  15288. milliseconds. The results from <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> are
  15289. cached and <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/> is called at most once
  15290. per second.
  15291. </para>
  15292. <para>
  15293. Sub classes should override <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)"/>
  15294. rather than <see cref="M:log4net.DateFormatter.AbsoluteTimeDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/>.
  15295. </para>
  15296. </remarks>
  15297. </member>
  15298. <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.AbsoluteTimeDateFormat">
  15299. <summary>
  15300. String constant used to specify AbsoluteTimeDateFormat in layouts. Current value is <b>ABSOLUTE</b>.
  15301. </summary>
  15302. </member>
  15303. <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.DateAndTimeDateFormat">
  15304. <summary>
  15305. String constant used to specify DateTimeDateFormat in layouts. Current value is <b>DATE</b>.
  15306. </summary>
  15307. </member>
  15308. <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.Iso8601TimeDateFormat">
  15309. <summary>
  15310. String constant used to specify ISO8601DateFormat in layouts. Current value is <b>ISO8601</b>.
  15311. </summary>
  15312. </member>
  15313. <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeToTheSecond">
  15314. <summary>
  15315. Last stored time with precision up to the second.
  15316. </summary>
  15317. </member>
  15318. <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeBuf">
  15319. <summary>
  15320. Last stored time with precision up to the second, formatted
  15321. as a string.
  15322. </summary>
  15323. </member>
  15324. <member name="F:log4net.DateFormatter.AbsoluteTimeDateFormatter.s_lastTimeStrings">
  15325. <summary>
  15326. Last stored time with precision up to the second, formatted
  15327. as a string.
  15328. </summary>
  15329. </member>
  15330. <member name="T:log4net.DateFormatter.DateTimeDateFormatter">
  15331. <summary>
  15332. Formats a <see cref="T:System.DateTime"/> as <c>"dd MMM yyyy HH:mm:ss,fff"</c>
  15333. </summary>
  15334. <remarks>
  15335. <para>
  15336. Formats a <see cref="T:System.DateTime"/> in the format
  15337. <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example,
  15338. <c>"06 Nov 1994 15:49:37,459"</c>.
  15339. </para>
  15340. </remarks>
  15341. <author>Nicko Cadell</author>
  15342. <author>Gert Driesen</author>
  15343. <author>Angelika Schnagl</author>
  15344. </member>
  15345. <member name="M:log4net.DateFormatter.DateTimeDateFormatter.#ctor">
  15346. <summary>
  15347. Default constructor.
  15348. </summary>
  15349. <remarks>
  15350. <para>
  15351. Initializes a new instance of the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter" /> class.
  15352. </para>
  15353. </remarks>
  15354. </member>
  15355. <member name="M:log4net.DateFormatter.DateTimeDateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
  15356. <summary>
  15357. Formats the date without the milliseconds part
  15358. </summary>
  15359. <param name="dateToFormat">The date to format.</param>
  15360. <param name="buffer">The string builder to write to.</param>
  15361. <remarks>
  15362. <para>
  15363. Formats a DateTime in the format <c>"dd MMM yyyy HH:mm:ss"</c>
  15364. for example, <c>"06 Nov 1994 15:49:37"</c>.
  15365. </para>
  15366. <para>
  15367. The base class will append the <c>",fff"</c> milliseconds section.
  15368. This method will only be called at most once per second.
  15369. </para>
  15370. </remarks>
  15371. </member>
  15372. <member name="F:log4net.DateFormatter.DateTimeDateFormatter.m_dateTimeFormatInfo">
  15373. <summary>
  15374. The format info for the invariant culture.
  15375. </summary>
  15376. </member>
  15377. <member name="T:log4net.DateFormatter.IDateFormatter">
  15378. <summary>
  15379. Render a <see cref="T:System.DateTime"/> as a string.
  15380. </summary>
  15381. <remarks>
  15382. <para>
  15383. Interface to abstract the rendering of a <see cref="T:System.DateTime"/>
  15384. instance into a string.
  15385. </para>
  15386. <para>
  15387. The <see cref="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)"/> method is used to render the
  15388. date to a text writer.
  15389. </para>
  15390. </remarks>
  15391. <author>Nicko Cadell</author>
  15392. <author>Gert Driesen</author>
  15393. </member>
  15394. <member name="M:log4net.DateFormatter.IDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
  15395. <summary>
  15396. Formats the specified date as a string.
  15397. </summary>
  15398. <param name="dateToFormat">The date to format.</param>
  15399. <param name="writer">The writer to write to.</param>
  15400. <remarks>
  15401. <para>
  15402. Format the <see cref="T:System.DateTime"/> as a string and write it
  15403. to the <see cref="T:System.IO.TextWriter"/> provided.
  15404. </para>
  15405. </remarks>
  15406. </member>
  15407. <member name="T:log4net.DateFormatter.Iso8601DateFormatter">
  15408. <summary>
  15409. Formats the <see cref="T:System.DateTime"/> as <c>"yyyy-MM-dd HH:mm:ss,fff"</c>.
  15410. </summary>
  15411. <remarks>
  15412. <para>
  15413. Formats the <see cref="T:System.DateTime"/> specified as a string: <c>"yyyy-MM-dd HH:mm:ss,fff"</c>.
  15414. </para>
  15415. </remarks>
  15416. <author>Nicko Cadell</author>
  15417. <author>Gert Driesen</author>
  15418. </member>
  15419. <member name="M:log4net.DateFormatter.Iso8601DateFormatter.#ctor">
  15420. <summary>
  15421. Default constructor
  15422. </summary>
  15423. <remarks>
  15424. <para>
  15425. Initializes a new instance of the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter" /> class.
  15426. </para>
  15427. </remarks>
  15428. </member>
  15429. <member name="M:log4net.DateFormatter.Iso8601DateFormatter.FormatDateWithoutMillis(System.DateTime,System.Text.StringBuilder)">
  15430. <summary>
  15431. Formats the date without the milliseconds part
  15432. </summary>
  15433. <param name="dateToFormat">The date to format.</param>
  15434. <param name="buffer">The string builder to write to.</param>
  15435. <remarks>
  15436. <para>
  15437. Formats the date specified as a string: <c>"yyyy-MM-dd HH:mm:ss"</c>.
  15438. </para>
  15439. <para>
  15440. The base class will append the <c>",fff"</c> milliseconds section.
  15441. This method will only be called at most once per second.
  15442. </para>
  15443. </remarks>
  15444. </member>
  15445. <member name="T:log4net.DateFormatter.SimpleDateFormatter">
  15446. <summary>
  15447. Formats the <see cref="T:System.DateTime"/> using the <see cref="M:DateTime.ToString(string, IFormatProvider)"/> method.
  15448. </summary>
  15449. <remarks>
  15450. <para>
  15451. Formats the <see cref="T:System.DateTime"/> using the <see cref="T:System.DateTime"/> <see cref="M:DateTime.ToString(string, IFormatProvider)"/> method.
  15452. </para>
  15453. </remarks>
  15454. <author>Nicko Cadell</author>
  15455. <author>Gert Driesen</author>
  15456. </member>
  15457. <member name="M:log4net.DateFormatter.SimpleDateFormatter.#ctor(System.String)">
  15458. <summary>
  15459. Constructor
  15460. </summary>
  15461. <param name="format">The format string.</param>
  15462. <remarks>
  15463. <para>
  15464. Initializes a new instance of the <see cref="T:log4net.DateFormatter.SimpleDateFormatter" /> class
  15465. with the specified format string.
  15466. </para>
  15467. <para>
  15468. The format string must be compatible with the options
  15469. that can be supplied to <see cref="M:DateTime.ToString(string, IFormatProvider)"/>.
  15470. </para>
  15471. </remarks>
  15472. </member>
  15473. <member name="M:log4net.DateFormatter.SimpleDateFormatter.FormatDate(System.DateTime,System.IO.TextWriter)">
  15474. <summary>
  15475. Formats the date using <see cref="M:DateTime.ToString(string, IFormatProvider)"/>.
  15476. </summary>
  15477. <param name="dateToFormat">The date to convert to a string.</param>
  15478. <param name="writer">The writer to write to.</param>
  15479. <remarks>
  15480. <para>
  15481. Uses the date format string supplied to the constructor to call
  15482. the <see cref="M:DateTime.ToString(string, IFormatProvider)"/> method to format the date.
  15483. </para>
  15484. </remarks>
  15485. </member>
  15486. <member name="F:log4net.DateFormatter.SimpleDateFormatter.m_formatString">
  15487. <summary>
  15488. The format string used to format the <see cref="T:System.DateTime" />.
  15489. </summary>
  15490. <remarks>
  15491. <para>
  15492. The format string must be compatible with the options
  15493. that can be supplied to <see cref="M:DateTime.ToString(string, IFormatProvider)"/>.
  15494. </para>
  15495. </remarks>
  15496. </member>
  15497. <member name="T:log4net.Filter.DenyAllFilter">
  15498. <summary>
  15499. This filter drops all <see cref="T:log4net.Core.LoggingEvent"/>.
  15500. </summary>
  15501. <remarks>
  15502. <para>
  15503. You can add this filter to the end of a filter chain to
  15504. switch from the default "accept all unless instructed otherwise"
  15505. filtering behavior to a "deny all unless instructed otherwise"
  15506. behavior.
  15507. </para>
  15508. </remarks>
  15509. <author>Nicko Cadell</author>
  15510. <author>Gert Driesen</author>
  15511. </member>
  15512. <member name="M:log4net.Filter.DenyAllFilter.#ctor">
  15513. <summary>
  15514. Default constructor
  15515. </summary>
  15516. </member>
  15517. <member name="M:log4net.Filter.DenyAllFilter.Decide(log4net.Core.LoggingEvent)">
  15518. <summary>
  15519. Always returns the integer constant <see cref="F:log4net.Filter.FilterDecision.Deny"/>
  15520. </summary>
  15521. <param name="loggingEvent">the LoggingEvent to filter</param>
  15522. <returns>Always returns <see cref="F:log4net.Filter.FilterDecision.Deny"/></returns>
  15523. <remarks>
  15524. <para>
  15525. Ignores the event being logged and just returns
  15526. <see cref="F:log4net.Filter.FilterDecision.Deny"/>. This can be used to change the default filter
  15527. chain behavior from <see cref="F:log4net.Filter.FilterDecision.Accept"/> to <see cref="F:log4net.Filter.FilterDecision.Deny"/>. This filter
  15528. should only be used as the last filter in the chain
  15529. as any further filters will be ignored!
  15530. </para>
  15531. </remarks>
  15532. </member>
  15533. <member name="T:log4net.Filter.FilterDecision">
  15534. <summary>
  15535. The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
  15536. </summary>
  15537. <remarks>
  15538. <para>
  15539. The return result from <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
  15540. </para>
  15541. </remarks>
  15542. </member>
  15543. <member name="F:log4net.Filter.FilterDecision.Deny">
  15544. <summary>
  15545. The log event must be dropped immediately without
  15546. consulting with the remaining filters, if any, in the chain.
  15547. </summary>
  15548. </member>
  15549. <member name="F:log4net.Filter.FilterDecision.Neutral">
  15550. <summary>
  15551. This filter is neutral with respect to the log event.
  15552. The remaining filters, if any, should be consulted for a final decision.
  15553. </summary>
  15554. </member>
  15555. <member name="F:log4net.Filter.FilterDecision.Accept">
  15556. <summary>
  15557. The log event must be logged immediately without
  15558. consulting with the remaining filters, if any, in the chain.
  15559. </summary>
  15560. </member>
  15561. <member name="T:log4net.Filter.FilterSkeleton">
  15562. <summary>
  15563. Subclass this type to implement customized logging event filtering
  15564. </summary>
  15565. <remarks>
  15566. <para>
  15567. Users should extend this class to implement customized logging
  15568. event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and
  15569. <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
  15570. appenders, have built-in filtering rules. It is suggested that you
  15571. first use and understand the built-in rules before rushing to write
  15572. your own custom filters.
  15573. </para>
  15574. <para>
  15575. This abstract class assumes and also imposes that filters be
  15576. organized in a linear chain. The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)"/>
  15577. method of each filter is called sequentially, in the order of their
  15578. addition to the chain.
  15579. </para>
  15580. <para>
  15581. The <see cref="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)"/> method must return one
  15582. of the integer constants <see cref="F:log4net.Filter.FilterDecision.Deny"/>,
  15583. <see cref="F:log4net.Filter.FilterDecision.Neutral"/> or <see cref="F:log4net.Filter.FilterDecision.Accept"/>.
  15584. </para>
  15585. <para>
  15586. If the value <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned, then the log event is dropped
  15587. immediately without consulting with the remaining filters.
  15588. </para>
  15589. <para>
  15590. If the value <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned, then the next filter
  15591. in the chain is consulted. If there are no more filters in the
  15592. chain, then the log event is logged. Thus, in the presence of no
  15593. filters, the default behavior is to log all logging events.
  15594. </para>
  15595. <para>
  15596. If the value <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, then the log
  15597. event is logged without consulting the remaining filters.
  15598. </para>
  15599. <para>
  15600. The philosophy of log4net filters is largely inspired from the
  15601. Linux ipchains.
  15602. </para>
  15603. </remarks>
  15604. <author>Nicko Cadell</author>
  15605. <author>Gert Driesen</author>
  15606. </member>
  15607. <member name="F:log4net.Filter.FilterSkeleton.m_next">
  15608. <summary>
  15609. Points to the next filter in the filter chain.
  15610. </summary>
  15611. <remarks>
  15612. <para>
  15613. See <see cref="P:log4net.Filter.FilterSkeleton.Next"/> for more information.
  15614. </para>
  15615. </remarks>
  15616. </member>
  15617. <member name="M:log4net.Filter.FilterSkeleton.ActivateOptions">
  15618. <summary>
  15619. Initialize the filter with the options set
  15620. </summary>
  15621. <remarks>
  15622. <para>
  15623. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  15624. activation scheme. The <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> method must
  15625. be called on this object after the configuration properties have
  15626. been set. Until <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> is called this
  15627. object is in an undefined state and must not be used.
  15628. </para>
  15629. <para>
  15630. If any of the configuration properties are modified then
  15631. <see cref="M:log4net.Filter.FilterSkeleton.ActivateOptions"/> must be called again.
  15632. </para>
  15633. <para>
  15634. Typically filter's options become active immediately on set,
  15635. however this method must still be called.
  15636. </para>
  15637. </remarks>
  15638. </member>
  15639. <member name="M:log4net.Filter.FilterSkeleton.Decide(log4net.Core.LoggingEvent)">
  15640. <summary>
  15641. Decide if the <see cref="T:log4net.Core.LoggingEvent"/> should be logged through an appender.
  15642. </summary>
  15643. <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent"/> to decide upon</param>
  15644. <returns>The decision of the filter</returns>
  15645. <remarks>
  15646. <para>
  15647. If the decision is <see cref="F:log4net.Filter.FilterDecision.Deny"/>, then the event will be
  15648. dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.Neutral"/>, then the next
  15649. filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.Accept"/> then
  15650. the event will be logged without consulting with other filters in
  15651. the chain.
  15652. </para>
  15653. <para>
  15654. This method is marked <c>abstract</c> and must be implemented
  15655. in a subclass.
  15656. </para>
  15657. </remarks>
  15658. </member>
  15659. <member name="P:log4net.Filter.FilterSkeleton.Next">
  15660. <summary>
  15661. Property to get and set the next filter
  15662. </summary>
  15663. <value>
  15664. The next filter in the chain
  15665. </value>
  15666. <remarks>
  15667. <para>
  15668. Filters are typically composed into chains. This property allows the next filter in
  15669. the chain to be accessed.
  15670. </para>
  15671. </remarks>
  15672. </member>
  15673. <member name="T:log4net.Filter.IFilter">
  15674. <summary>
  15675. Implement this interface to provide customized logging event filtering
  15676. </summary>
  15677. <remarks>
  15678. <para>
  15679. Users should implement this interface to implement customized logging
  15680. event filtering. Note that <see cref="T:log4net.Repository.Hierarchy.Logger"/> and
  15681. <see cref="T:log4net.Appender.AppenderSkeleton"/>, the parent class of all standard
  15682. appenders, have built-in filtering rules. It is suggested that you
  15683. first use and understand the built-in rules before rushing to write
  15684. your own custom filters.
  15685. </para>
  15686. <para>
  15687. This abstract class assumes and also imposes that filters be
  15688. organized in a linear chain. The <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/>
  15689. method of each filter is called sequentially, in the order of their
  15690. addition to the chain.
  15691. </para>
  15692. <para>
  15693. The <see cref="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)"/> method must return one
  15694. of the integer constants <see cref="F:log4net.Filter.FilterDecision.Deny"/>,
  15695. <see cref="F:log4net.Filter.FilterDecision.Neutral"/> or <see cref="F:log4net.Filter.FilterDecision.Accept"/>.
  15696. </para>
  15697. <para>
  15698. If the value <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned, then the log event is dropped
  15699. immediately without consulting with the remaining filters.
  15700. </para>
  15701. <para>
  15702. If the value <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned, then the next filter
  15703. in the chain is consulted. If there are no more filters in the
  15704. chain, then the log event is logged. Thus, in the presence of no
  15705. filters, the default behavior is to log all logging events.
  15706. </para>
  15707. <para>
  15708. If the value <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, then the log
  15709. event is logged without consulting the remaining filters.
  15710. </para>
  15711. <para>
  15712. The philosophy of log4net filters is largely inspired from the
  15713. Linux ipchains.
  15714. </para>
  15715. </remarks>
  15716. <author>Nicko Cadell</author>
  15717. <author>Gert Driesen</author>
  15718. </member>
  15719. <member name="M:log4net.Filter.IFilter.Decide(log4net.Core.LoggingEvent)">
  15720. <summary>
  15721. Decide if the logging event should be logged through an appender.
  15722. </summary>
  15723. <param name="loggingEvent">The LoggingEvent to decide upon</param>
  15724. <returns>The decision of the filter</returns>
  15725. <remarks>
  15726. <para>
  15727. If the decision is <see cref="F:log4net.Filter.FilterDecision.Deny"/>, then the event will be
  15728. dropped. If the decision is <see cref="F:log4net.Filter.FilterDecision.Neutral"/>, then the next
  15729. filter, if any, will be invoked. If the decision is <see cref="F:log4net.Filter.FilterDecision.Accept"/> then
  15730. the event will be logged without consulting with other filters in
  15731. the chain.
  15732. </para>
  15733. </remarks>
  15734. </member>
  15735. <member name="P:log4net.Filter.IFilter.Next">
  15736. <summary>
  15737. Property to get and set the next filter
  15738. </summary>
  15739. <value>
  15740. The next filter in the chain
  15741. </value>
  15742. <remarks>
  15743. <para>
  15744. Filters are typically composed into chains. This property allows the next filter in
  15745. the chain to be accessed.
  15746. </para>
  15747. </remarks>
  15748. </member>
  15749. <member name="T:log4net.Filter.LevelMatchFilter">
  15750. <summary>
  15751. This is a very simple filter based on <see cref="T:log4net.Core.Level"/> matching.
  15752. </summary>
  15753. <remarks>
  15754. <para>
  15755. The filter admits two options <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> and
  15756. <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If there is an exact match between the value
  15757. of the <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/> option and the <see cref="T:log4net.Core.Level"/> of the
  15758. <see cref="T:log4net.Core.LoggingEvent"/>, then the <see cref="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in
  15759. case the <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> option value is set
  15760. to <c>true</c>, if it is <c>false</c> then
  15761. <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned. If the <see cref="T:log4net.Core.Level"/> does not match then
  15762. the result will be <see cref="F:log4net.Filter.FilterDecision.Neutral"/>.
  15763. </para>
  15764. </remarks>
  15765. <author>Nicko Cadell</author>
  15766. <author>Gert Driesen</author>
  15767. </member>
  15768. <member name="F:log4net.Filter.LevelMatchFilter.m_acceptOnMatch">
  15769. <summary>
  15770. flag to indicate if the filter should <see cref="F:log4net.Filter.FilterDecision.Accept"/> on a match
  15771. </summary>
  15772. </member>
  15773. <member name="F:log4net.Filter.LevelMatchFilter.m_levelToMatch">
  15774. <summary>
  15775. the <see cref="T:log4net.Core.Level"/> to match against
  15776. </summary>
  15777. </member>
  15778. <member name="M:log4net.Filter.LevelMatchFilter.#ctor">
  15779. <summary>
  15780. Default constructor
  15781. </summary>
  15782. </member>
  15783. <member name="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch">
  15784. <summary>
  15785. <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LevelMatchFilter.LevelToMatch"/>
  15786. </summary>
  15787. <remarks>
  15788. <para>
  15789. The <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/> property is a flag that determines
  15790. the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
  15791. flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the
  15792. logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Deny"/> the event.
  15793. </para>
  15794. <para>
  15795. The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
  15796. </para>
  15797. </remarks>
  15798. </member>
  15799. <member name="P:log4net.Filter.LevelMatchFilter.LevelToMatch">
  15800. <summary>
  15801. The <see cref="T:log4net.Core.Level"/> that the filter will match
  15802. </summary>
  15803. <remarks>
  15804. <para>
  15805. The level that this filter will attempt to match against the
  15806. <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
  15807. the result depends on the value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>.
  15808. </para>
  15809. </remarks>
  15810. </member>
  15811. <member name="M:log4net.Filter.LevelMatchFilter.Decide(log4net.Core.LoggingEvent)">
  15812. <summary>
  15813. Tests if the <see cref="T:log4net.Core.Level"/> of the logging event matches that of the filter
  15814. </summary>
  15815. <param name="loggingEvent">the event to filter</param>
  15816. <returns>see remarks</returns>
  15817. <remarks>
  15818. <para>
  15819. If the <see cref="T:log4net.Core.Level"/> of the event matches the level of the
  15820. filter then the result of the function depends on the
  15821. value of <see cref="P:log4net.Filter.LevelMatchFilter.AcceptOnMatch"/>. If it is true then
  15822. the function will return <see cref="F:log4net.Filter.FilterDecision.Accept"/>, it it is false then it
  15823. will return <see cref="F:log4net.Filter.FilterDecision.Deny"/>. If the <see cref="T:log4net.Core.Level"/> does not match then
  15824. the result will be <see cref="F:log4net.Filter.FilterDecision.Neutral"/>.
  15825. </para>
  15826. </remarks>
  15827. </member>
  15828. <member name="T:log4net.Filter.LevelRangeFilter">
  15829. <summary>
  15830. This is a simple filter based on <see cref="T:log4net.Core.Level"/> matching.
  15831. </summary>
  15832. <remarks>
  15833. <para>
  15834. The filter admits three options <see cref="P:log4net.Filter.LevelRangeFilter.LevelMin"/> and <see cref="P:log4net.Filter.LevelRangeFilter.LevelMax"/>
  15835. that determine the range of priorities that are matched, and
  15836. <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>. If there is a match between the range
  15837. of priorities and the <see cref="T:log4net.Core.Level"/> of the <see cref="T:log4net.Core.LoggingEvent"/>, then the
  15838. <see cref="M:log4net.Filter.LevelRangeFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in case the <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>
  15839. option value is set to <c>true</c>, if it is <c>false</c>
  15840. then <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned. If there is no match, <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
  15841. </para>
  15842. </remarks>
  15843. <author>Nicko Cadell</author>
  15844. <author>Gert Driesen</author>
  15845. </member>
  15846. <member name="F:log4net.Filter.LevelRangeFilter.m_acceptOnMatch">
  15847. <summary>
  15848. Flag to indicate the behavior when matching a <see cref="T:log4net.Core.Level"/>
  15849. </summary>
  15850. </member>
  15851. <member name="F:log4net.Filter.LevelRangeFilter.m_levelMin">
  15852. <summary>
  15853. the minimum <see cref="T:log4net.Core.Level"/> value to match
  15854. </summary>
  15855. </member>
  15856. <member name="F:log4net.Filter.LevelRangeFilter.m_levelMax">
  15857. <summary>
  15858. the maximum <see cref="T:log4net.Core.Level"/> value to match
  15859. </summary>
  15860. </member>
  15861. <member name="M:log4net.Filter.LevelRangeFilter.#ctor">
  15862. <summary>
  15863. Default constructor
  15864. </summary>
  15865. </member>
  15866. <member name="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch">
  15867. <summary>
  15868. <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LevelRangeFilter.LevelMin"/> and <see cref="P:log4net.Filter.LevelRangeFilter.LevelMax"/>
  15869. </summary>
  15870. <remarks>
  15871. <para>
  15872. The <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> property is a flag that determines
  15873. the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
  15874. flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the
  15875. logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Neutral"/> the event.
  15876. </para>
  15877. <para>
  15878. The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
  15879. </para>
  15880. </remarks>
  15881. </member>
  15882. <member name="P:log4net.Filter.LevelRangeFilter.LevelMin">
  15883. <summary>
  15884. Set the minimum matched <see cref="T:log4net.Core.Level"/>
  15885. </summary>
  15886. <remarks>
  15887. <para>
  15888. The minimum level that this filter will attempt to match against the
  15889. <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
  15890. the result depends on the value of <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>.
  15891. </para>
  15892. </remarks>
  15893. </member>
  15894. <member name="P:log4net.Filter.LevelRangeFilter.LevelMax">
  15895. <summary>
  15896. Sets the maximum matched <see cref="T:log4net.Core.Level"/>
  15897. </summary>
  15898. <remarks>
  15899. <para>
  15900. The maximum level that this filter will attempt to match against the
  15901. <see cref="T:log4net.Core.LoggingEvent"/> level. If a match is found then
  15902. the result depends on the value of <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/>.
  15903. </para>
  15904. </remarks>
  15905. </member>
  15906. <member name="M:log4net.Filter.LevelRangeFilter.Decide(log4net.Core.LoggingEvent)">
  15907. <summary>
  15908. Check if the event should be logged.
  15909. </summary>
  15910. <param name="loggingEvent">the logging event to check</param>
  15911. <returns>see remarks</returns>
  15912. <remarks>
  15913. <para>
  15914. If the <see cref="T:log4net.Core.Level"/> of the logging event is outside the range
  15915. matched by this filter then <see cref="F:log4net.Filter.FilterDecision.Deny"/>
  15916. is returned. If the <see cref="T:log4net.Core.Level"/> is matched then the value of
  15917. <see cref="P:log4net.Filter.LevelRangeFilter.AcceptOnMatch"/> is checked. If it is true then
  15918. <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned, otherwise
  15919. <see cref="F:log4net.Filter.FilterDecision.Neutral"/> is returned.
  15920. </para>
  15921. </remarks>
  15922. </member>
  15923. <member name="T:log4net.Filter.LoggerMatchFilter">
  15924. <summary>
  15925. Simple filter to match a string in the event's logger name.
  15926. </summary>
  15927. <remarks>
  15928. <para>
  15929. The works very similar to the <see cref="T:log4net.Filter.LevelMatchFilter"/>. It admits two
  15930. options <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> and <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/>. If the
  15931. <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the <see cref="T:log4net.Core.LoggingEvent"/> starts
  15932. with the value of the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> option, then the
  15933. <see cref="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)"/> method returns <see cref="F:log4net.Filter.FilterDecision.Accept"/> in
  15934. case the <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> option value is set to <c>true</c>,
  15935. if it is <c>false</c> then <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
  15936. </para>
  15937. </remarks>
  15938. <author>Daniel Cazzulino</author>
  15939. </member>
  15940. <member name="F:log4net.Filter.LoggerMatchFilter.m_acceptOnMatch">
  15941. <summary>
  15942. Flag to indicate the behavior when we have a match
  15943. </summary>
  15944. </member>
  15945. <member name="F:log4net.Filter.LoggerMatchFilter.m_loggerToMatch">
  15946. <summary>
  15947. The logger name string to substring match against the event
  15948. </summary>
  15949. </member>
  15950. <member name="M:log4net.Filter.LoggerMatchFilter.#ctor">
  15951. <summary>
  15952. Default constructor
  15953. </summary>
  15954. </member>
  15955. <member name="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch">
  15956. <summary>
  15957. <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>
  15958. </summary>
  15959. <remarks>
  15960. <para>
  15961. The <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> property is a flag that determines
  15962. the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
  15963. flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the
  15964. logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Deny"/> the event.
  15965. </para>
  15966. <para>
  15967. The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
  15968. </para>
  15969. </remarks>
  15970. </member>
  15971. <member name="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch">
  15972. <summary>
  15973. The <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> that the filter will match
  15974. </summary>
  15975. <remarks>
  15976. <para>
  15977. This filter will attempt to match this value against logger name in
  15978. the following way. The match will be done against the beginning of the
  15979. logger name (using <see cref="M:String.StartsWith(string)"/>). The match is
  15980. case sensitive. If a match is found then
  15981. the result depends on the value of <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/>.
  15982. </para>
  15983. </remarks>
  15984. </member>
  15985. <member name="M:log4net.Filter.LoggerMatchFilter.Decide(log4net.Core.LoggingEvent)">
  15986. <summary>
  15987. Check if this filter should allow the event to be logged
  15988. </summary>
  15989. <param name="loggingEvent">the event being logged</param>
  15990. <returns>see remarks</returns>
  15991. <remarks>
  15992. <para>
  15993. The rendered message is matched against the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/>.
  15994. If the <see cref="P:log4net.Filter.LoggerMatchFilter.LoggerToMatch"/> equals the beginning of
  15995. the incoming <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> (<see cref="M:String.StartsWith(string)"/>)
  15996. then a match will have occurred. If no match occurs
  15997. this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
  15998. allowing other filters to check the event. If a match occurs then
  15999. the value of <see cref="P:log4net.Filter.LoggerMatchFilter.AcceptOnMatch"/> is checked. If it is
  16000. true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
  16001. <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
  16002. </para>
  16003. </remarks>
  16004. </member>
  16005. <member name="T:log4net.Filter.MdcFilter">
  16006. <summary>
  16007. Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
  16008. </summary>
  16009. <remarks>
  16010. <para>
  16011. Simple filter to match a keyed string in the <see cref="T:log4net.MDC"/>
  16012. </para>
  16013. <para>
  16014. As the MDC has been replaced with layered properties the
  16015. <see cref="T:log4net.Filter.PropertyFilter"/> should be used instead.
  16016. </para>
  16017. </remarks>
  16018. <author>Nicko Cadell</author>
  16019. <author>Gert Driesen</author>
  16020. </member>
  16021. <member name="T:log4net.Filter.NdcFilter">
  16022. <summary>
  16023. Simple filter to match a string in the <see cref="T:log4net.NDC"/>
  16024. </summary>
  16025. <remarks>
  16026. <para>
  16027. Simple filter to match a string in the <see cref="T:log4net.NDC"/>
  16028. </para>
  16029. <para>
  16030. As the MDC has been replaced with named stacks stored in the
  16031. properties collections the <see cref="T:log4net.Filter.PropertyFilter"/> should
  16032. be used instead.
  16033. </para>
  16034. </remarks>
  16035. <author>Nicko Cadell</author>
  16036. <author>Gert Driesen</author>
  16037. </member>
  16038. <member name="M:log4net.Filter.NdcFilter.#ctor">
  16039. <summary>
  16040. Default constructor
  16041. </summary>
  16042. <remarks>
  16043. <para>
  16044. Sets the <see cref="P:log4net.Filter.PropertyFilter.Key"/> to <c>"NDC"</c>.
  16045. </para>
  16046. </remarks>
  16047. </member>
  16048. <member name="T:log4net.Filter.PropertyFilter">
  16049. <summary>
  16050. Simple filter to match a string an event property
  16051. </summary>
  16052. <remarks>
  16053. <para>
  16054. Simple filter to match a string in the value for a
  16055. specific event property
  16056. </para>
  16057. </remarks>
  16058. <author>Nicko Cadell</author>
  16059. </member>
  16060. <member name="F:log4net.Filter.PropertyFilter.m_key">
  16061. <summary>
  16062. The key to use to lookup the string from the event properties
  16063. </summary>
  16064. </member>
  16065. <member name="M:log4net.Filter.PropertyFilter.#ctor">
  16066. <summary>
  16067. Default constructor
  16068. </summary>
  16069. </member>
  16070. <member name="P:log4net.Filter.PropertyFilter.Key">
  16071. <summary>
  16072. The key to lookup in the event properties and then match against.
  16073. </summary>
  16074. <remarks>
  16075. <para>
  16076. The key name to use to lookup in the properties map of the
  16077. <see cref="T:log4net.Core.LoggingEvent"/>. The match will be performed against
  16078. the value of this property if it exists.
  16079. </para>
  16080. </remarks>
  16081. </member>
  16082. <member name="M:log4net.Filter.PropertyFilter.Decide(log4net.Core.LoggingEvent)">
  16083. <summary>
  16084. Check if this filter should allow the event to be logged
  16085. </summary>
  16086. <param name="loggingEvent">the event being logged</param>
  16087. <returns>see remarks</returns>
  16088. <remarks>
  16089. <para>
  16090. The event property for the <see cref="P:log4net.Filter.PropertyFilter.Key"/> is matched against
  16091. the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
  16092. If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
  16093. the property value then a match will have occurred. If no match occurs
  16094. this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
  16095. allowing other filters to check the event. If a match occurs then
  16096. the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
  16097. true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
  16098. <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
  16099. </para>
  16100. </remarks>
  16101. </member>
  16102. <member name="T:log4net.Filter.StringMatchFilter">
  16103. <summary>
  16104. Simple filter to match a string in the rendered message
  16105. </summary>
  16106. <remarks>
  16107. <para>
  16108. Simple filter to match a string in the rendered message
  16109. </para>
  16110. </remarks>
  16111. <author>Nicko Cadell</author>
  16112. <author>Gert Driesen</author>
  16113. </member>
  16114. <member name="F:log4net.Filter.StringMatchFilter.m_acceptOnMatch">
  16115. <summary>
  16116. Flag to indicate the behavior when we have a match
  16117. </summary>
  16118. </member>
  16119. <member name="F:log4net.Filter.StringMatchFilter.m_stringToMatch">
  16120. <summary>
  16121. The string to substring match against the message
  16122. </summary>
  16123. </member>
  16124. <member name="F:log4net.Filter.StringMatchFilter.m_stringRegexToMatch">
  16125. <summary>
  16126. A string regex to match
  16127. </summary>
  16128. </member>
  16129. <member name="F:log4net.Filter.StringMatchFilter.m_regexToMatch">
  16130. <summary>
  16131. A regex object to match (generated from m_stringRegexToMatch)
  16132. </summary>
  16133. </member>
  16134. <member name="M:log4net.Filter.StringMatchFilter.#ctor">
  16135. <summary>
  16136. Default constructor
  16137. </summary>
  16138. </member>
  16139. <member name="M:log4net.Filter.StringMatchFilter.ActivateOptions">
  16140. <summary>
  16141. Initialize and precompile the Regex if required
  16142. </summary>
  16143. <remarks>
  16144. <para>
  16145. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  16146. activation scheme. The <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> method must
  16147. be called on this object after the configuration properties have
  16148. been set. Until <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> is called this
  16149. object is in an undefined state and must not be used.
  16150. </para>
  16151. <para>
  16152. If any of the configuration properties are modified then
  16153. <see cref="M:log4net.Filter.StringMatchFilter.ActivateOptions"/> must be called again.
  16154. </para>
  16155. </remarks>
  16156. </member>
  16157. <member name="P:log4net.Filter.StringMatchFilter.AcceptOnMatch">
  16158. <summary>
  16159. <see cref="F:log4net.Filter.FilterDecision.Accept"/> when matching <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
  16160. </summary>
  16161. <remarks>
  16162. <para>
  16163. The <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> property is a flag that determines
  16164. the behavior when a matching <see cref="T:log4net.Core.Level"/> is found. If the
  16165. flag is set to true then the filter will <see cref="F:log4net.Filter.FilterDecision.Accept"/> the
  16166. logging event, otherwise it will <see cref="F:log4net.Filter.FilterDecision.Neutral"/> the event.
  16167. </para>
  16168. <para>
  16169. The default is <c>true</c> i.e. to <see cref="F:log4net.Filter.FilterDecision.Accept"/> the event.
  16170. </para>
  16171. </remarks>
  16172. </member>
  16173. <member name="P:log4net.Filter.StringMatchFilter.StringToMatch">
  16174. <summary>
  16175. Sets the static string to match
  16176. </summary>
  16177. <remarks>
  16178. <para>
  16179. The string that will be substring matched against
  16180. the rendered message. If the message contains this
  16181. string then the filter will match. If a match is found then
  16182. the result depends on the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/>.
  16183. </para>
  16184. <para>
  16185. One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
  16186. must be specified.
  16187. </para>
  16188. </remarks>
  16189. </member>
  16190. <member name="P:log4net.Filter.StringMatchFilter.RegexToMatch">
  16191. <summary>
  16192. Sets the regular expression to match
  16193. </summary>
  16194. <remarks>
  16195. <para>
  16196. The regular expression pattern that will be matched against
  16197. the rendered message. If the message matches this
  16198. pattern then the filter will match. If a match is found then
  16199. the result depends on the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/>.
  16200. </para>
  16201. <para>
  16202. One of <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> or <see cref="P:log4net.Filter.StringMatchFilter.RegexToMatch"/>
  16203. must be specified.
  16204. </para>
  16205. </remarks>
  16206. </member>
  16207. <member name="M:log4net.Filter.StringMatchFilter.Decide(log4net.Core.LoggingEvent)">
  16208. <summary>
  16209. Check if this filter should allow the event to be logged
  16210. </summary>
  16211. <param name="loggingEvent">the event being logged</param>
  16212. <returns>see remarks</returns>
  16213. <remarks>
  16214. <para>
  16215. The rendered message is matched against the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/>.
  16216. If the <see cref="P:log4net.Filter.StringMatchFilter.StringToMatch"/> occurs as a substring within
  16217. the message then a match will have occurred. If no match occurs
  16218. this function will return <see cref="F:log4net.Filter.FilterDecision.Neutral"/>
  16219. allowing other filters to check the event. If a match occurs then
  16220. the value of <see cref="P:log4net.Filter.StringMatchFilter.AcceptOnMatch"/> is checked. If it is
  16221. true then <see cref="F:log4net.Filter.FilterDecision.Accept"/> is returned otherwise
  16222. <see cref="F:log4net.Filter.FilterDecision.Deny"/> is returned.
  16223. </para>
  16224. </remarks>
  16225. </member>
  16226. <member name="T:log4net.GlobalContext">
  16227. <summary>
  16228. The log4net Global Context.
  16229. </summary>
  16230. <remarks>
  16231. <para>
  16232. The <c>GlobalContext</c> provides a location for global debugging
  16233. information to be stored.
  16234. </para>
  16235. <para>
  16236. The global context has a properties map and these properties can
  16237. be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
  16238. supports selecting and outputing these properties.
  16239. </para>
  16240. <para>
  16241. By default the <c>log4net:HostName</c> property is set to the name of
  16242. the current machine.
  16243. </para>
  16244. </remarks>
  16245. <example>
  16246. <code lang="C#">
  16247. GlobalContext.Properties["hostname"] = Environment.MachineName;
  16248. </code>
  16249. </example>
  16250. <threadsafety static="true" instance="true" />
  16251. <author>Nicko Cadell</author>
  16252. </member>
  16253. <member name="M:log4net.GlobalContext.#ctor">
  16254. <summary>
  16255. Private Constructor.
  16256. </summary>
  16257. <remarks>
  16258. Uses a private access modifier to prevent instantiation of this class.
  16259. </remarks>
  16260. </member>
  16261. <member name="P:log4net.GlobalContext.Properties">
  16262. <summary>
  16263. The global properties map.
  16264. </summary>
  16265. <value>
  16266. The global properties map.
  16267. </value>
  16268. <remarks>
  16269. <para>
  16270. The global properties map.
  16271. </para>
  16272. </remarks>
  16273. </member>
  16274. <member name="F:log4net.GlobalContext.s_properties">
  16275. <summary>
  16276. The global context properties instance
  16277. </summary>
  16278. </member>
  16279. <member name="T:log4net.ILog">
  16280. <summary>
  16281. The ILog interface is use by application to log messages into
  16282. the log4net framework.
  16283. </summary>
  16284. <remarks>
  16285. <para>
  16286. Use the <see cref="T:log4net.LogManager"/> to obtain logger instances
  16287. that implement this interface. The <see cref="M:LogManager.GetLogger(Assembly,Type)"/>
  16288. static method is used to get logger instances.
  16289. </para>
  16290. <para>
  16291. This class contains methods for logging at different levels and also
  16292. has properties for determining if those logging levels are
  16293. enabled in the current configuration.
  16294. </para>
  16295. <para>
  16296. This interface can be implemented in different ways. This documentation
  16297. specifies reasonable behavior that a caller can expect from the actual
  16298. implementation, however different implementations reserve the right to
  16299. do things differently.
  16300. </para>
  16301. </remarks>
  16302. <example>Simple example of logging messages
  16303. <code lang="C#">
  16304. ILog log = LogManager.GetLogger("application-log");
  16305. log.Info("Application Start");
  16306. log.Debug("This is a debug message");
  16307. if (log.IsDebugEnabled)
  16308. {
  16309. log.Debug("This is another debug message");
  16310. }
  16311. </code>
  16312. </example>
  16313. <seealso cref="T:log4net.LogManager"/>
  16314. <seealso cref="M:LogManager.GetLogger(Assembly, Type)"/>
  16315. <author>Nicko Cadell</author>
  16316. <author>Gert Driesen</author>
  16317. </member>
  16318. <member name="M:log4net.ILog.Debug(System.Object)">
  16319. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads>
  16320. <summary>
  16321. Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
  16322. </summary>
  16323. <param name="message">The message object to log.</param>
  16324. <remarks>
  16325. <para>
  16326. This method first checks if this logger is <c>DEBUG</c>
  16327. enabled by comparing the level of this logger with the
  16328. <see cref="F:log4net.Core.Level.Debug"/> level. If this logger is
  16329. <c>DEBUG</c> enabled, then it converts the message object
  16330. (passed as parameter) to a string by invoking the appropriate
  16331. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  16332. proceeds to call all the registered appenders in this logger
  16333. and also higher in the hierarchy depending on the value of
  16334. the additivity flag.
  16335. </para>
  16336. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  16337. to this method will print the name of the <see cref="T:System.Exception"/>
  16338. but no stack trace. To print a stack trace use the
  16339. <see cref="M:Debug(object,Exception)"/> form instead.
  16340. </para>
  16341. </remarks>
  16342. <seealso cref="M:Debug(object,Exception)"/>
  16343. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  16344. </member>
  16345. <member name="M:log4net.ILog.Debug(System.Object,System.Exception)">
  16346. <summary>
  16347. Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level including
  16348. the stack trace of the <see cref="T:System.Exception"/> passed
  16349. as a parameter.
  16350. </summary>
  16351. <param name="message">The message object to log.</param>
  16352. <param name="exception">The exception to log, including its stack trace.</param>
  16353. <remarks>
  16354. <para>
  16355. See the <see cref="M:Debug(object)"/> form for more detailed information.
  16356. </para>
  16357. </remarks>
  16358. <seealso cref="M:Debug(object)"/>
  16359. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  16360. </member>
  16361. <member name="M:log4net.ILog.DebugFormat(System.String,System.Object[])">
  16362. <overloads>Log a formatted string with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads>
  16363. <summary>
  16364. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  16365. </summary>
  16366. <param name="format">A String containing zero or more format items</param>
  16367. <param name="args">An Object array containing zero or more objects to format</param>
  16368. <remarks>
  16369. <para>
  16370. The message is formatted using the <c>String.Format</c> method. See
  16371. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16372. of the formatting.
  16373. </para>
  16374. <para>
  16375. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16376. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
  16377. methods instead.
  16378. </para>
  16379. </remarks>
  16380. <seealso cref="M:Debug(object)"/>
  16381. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  16382. </member>
  16383. <member name="M:log4net.ILog.DebugFormat(System.String,System.Object)">
  16384. <summary>
  16385. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  16386. </summary>
  16387. <param name="format">A String containing zero or more format items</param>
  16388. <param name="arg0">An Object to format</param>
  16389. <remarks>
  16390. <para>
  16391. The message is formatted using the <c>String.Format</c> method. See
  16392. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16393. of the formatting.
  16394. </para>
  16395. <para>
  16396. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16397. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
  16398. methods instead.
  16399. </para>
  16400. </remarks>
  16401. <seealso cref="M:Debug(object)"/>
  16402. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  16403. </member>
  16404. <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object)">
  16405. <summary>
  16406. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  16407. </summary>
  16408. <param name="format">A String containing zero or more format items</param>
  16409. <param name="arg0">An Object to format</param>
  16410. <param name="arg1">An Object to format</param>
  16411. <remarks>
  16412. <para>
  16413. The message is formatted using the <c>String.Format</c> method. See
  16414. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16415. of the formatting.
  16416. </para>
  16417. <para>
  16418. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16419. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
  16420. methods instead.
  16421. </para>
  16422. </remarks>
  16423. <seealso cref="M:Debug(object)"/>
  16424. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  16425. </member>
  16426. <member name="M:log4net.ILog.DebugFormat(System.String,System.Object,System.Object,System.Object)">
  16427. <summary>
  16428. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  16429. </summary>
  16430. <param name="format">A String containing zero or more format items</param>
  16431. <param name="arg0">An Object to format</param>
  16432. <param name="arg1">An Object to format</param>
  16433. <param name="arg2">An Object to format</param>
  16434. <remarks>
  16435. <para>
  16436. The message is formatted using the <c>String.Format</c> method. See
  16437. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16438. of the formatting.
  16439. </para>
  16440. <para>
  16441. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16442. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
  16443. methods instead.
  16444. </para>
  16445. </remarks>
  16446. <seealso cref="M:Debug(object)"/>
  16447. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  16448. </member>
  16449. <member name="M:log4net.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
  16450. <summary>
  16451. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  16452. </summary>
  16453. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  16454. <param name="format">A String containing zero or more format items</param>
  16455. <param name="args">An Object array containing zero or more objects to format</param>
  16456. <remarks>
  16457. <para>
  16458. The message is formatted using the <c>String.Format</c> method. See
  16459. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16460. of the formatting.
  16461. </para>
  16462. <para>
  16463. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16464. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Debug(object,Exception)"/>
  16465. methods instead.
  16466. </para>
  16467. </remarks>
  16468. <seealso cref="M:Debug(object)"/>
  16469. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  16470. </member>
  16471. <member name="M:log4net.ILog.Info(System.Object)">
  16472. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads>
  16473. <summary>
  16474. Logs a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
  16475. </summary>
  16476. <remarks>
  16477. <para>
  16478. This method first checks if this logger is <c>INFO</c>
  16479. enabled by comparing the level of this logger with the
  16480. <see cref="F:log4net.Core.Level.Info"/> level. If this logger is
  16481. <c>INFO</c> enabled, then it converts the message object
  16482. (passed as parameter) to a string by invoking the appropriate
  16483. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  16484. proceeds to call all the registered appenders in this logger
  16485. and also higher in the hierarchy depending on the value of the
  16486. additivity flag.
  16487. </para>
  16488. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  16489. to this method will print the name of the <see cref="T:System.Exception"/>
  16490. but no stack trace. To print a stack trace use the
  16491. <see cref="M:Info(object,Exception)"/> form instead.
  16492. </para>
  16493. </remarks>
  16494. <param name="message">The message object to log.</param>
  16495. <seealso cref="M:Info(object,Exception)"/>
  16496. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  16497. </member>
  16498. <member name="M:log4net.ILog.Info(System.Object,System.Exception)">
  16499. <summary>
  16500. Logs a message object with the <c>INFO</c> level including
  16501. the stack trace of the <see cref="T:System.Exception"/> passed
  16502. as a parameter.
  16503. </summary>
  16504. <param name="message">The message object to log.</param>
  16505. <param name="exception">The exception to log, including its stack trace.</param>
  16506. <remarks>
  16507. <para>
  16508. See the <see cref="M:Info(object)"/> form for more detailed information.
  16509. </para>
  16510. </remarks>
  16511. <seealso cref="M:Info(object)"/>
  16512. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  16513. </member>
  16514. <member name="M:log4net.ILog.InfoFormat(System.String,System.Object[])">
  16515. <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads>
  16516. <summary>
  16517. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  16518. </summary>
  16519. <param name="format">A String containing zero or more format items</param>
  16520. <param name="args">An Object array containing zero or more objects to format</param>
  16521. <remarks>
  16522. <para>
  16523. The message is formatted using the <c>String.Format</c> method. See
  16524. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16525. of the formatting.
  16526. </para>
  16527. <para>
  16528. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16529. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
  16530. methods instead.
  16531. </para>
  16532. </remarks>
  16533. <seealso cref="M:Info(object,Exception)"/>
  16534. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  16535. </member>
  16536. <member name="M:log4net.ILog.InfoFormat(System.String,System.Object)">
  16537. <summary>
  16538. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  16539. </summary>
  16540. <param name="format">A String containing zero or more format items</param>
  16541. <param name="arg0">An Object to format</param>
  16542. <remarks>
  16543. <para>
  16544. The message is formatted using the <c>String.Format</c> method. See
  16545. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16546. of the formatting.
  16547. </para>
  16548. <para>
  16549. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16550. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object,Exception)"/>
  16551. methods instead.
  16552. </para>
  16553. </remarks>
  16554. <seealso cref="M:Info(object)"/>
  16555. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  16556. </member>
  16557. <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object)">
  16558. <summary>
  16559. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  16560. </summary>
  16561. <param name="format">A String containing zero or more format items</param>
  16562. <param name="arg0">An Object to format</param>
  16563. <param name="arg1">An Object to format</param>
  16564. <remarks>
  16565. <para>
  16566. The message is formatted using the <c>String.Format</c> method. See
  16567. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16568. of the formatting.
  16569. </para>
  16570. <para>
  16571. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16572. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object,Exception)"/>
  16573. methods instead.
  16574. </para>
  16575. </remarks>
  16576. <seealso cref="M:Info(object)"/>
  16577. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  16578. </member>
  16579. <member name="M:log4net.ILog.InfoFormat(System.String,System.Object,System.Object,System.Object)">
  16580. <summary>
  16581. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  16582. </summary>
  16583. <param name="format">A String containing zero or more format items</param>
  16584. <param name="arg0">An Object to format</param>
  16585. <param name="arg1">An Object to format</param>
  16586. <param name="arg2">An Object to format</param>
  16587. <remarks>
  16588. <para>
  16589. The message is formatted using the <c>String.Format</c> method. See
  16590. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16591. of the formatting.
  16592. </para>
  16593. <para>
  16594. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16595. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object,Exception)"/>
  16596. methods instead.
  16597. </para>
  16598. </remarks>
  16599. <seealso cref="M:Info(object)"/>
  16600. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  16601. </member>
  16602. <member name="M:log4net.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
  16603. <summary>
  16604. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  16605. </summary>
  16606. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  16607. <param name="format">A String containing zero or more format items</param>
  16608. <param name="args">An Object array containing zero or more objects to format</param>
  16609. <remarks>
  16610. <para>
  16611. The message is formatted using the <c>String.Format</c> method. See
  16612. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16613. of the formatting.
  16614. </para>
  16615. <para>
  16616. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16617. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Info(object)"/>
  16618. methods instead.
  16619. </para>
  16620. </remarks>
  16621. <seealso cref="M:Info(object,Exception)"/>
  16622. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  16623. </member>
  16624. <member name="M:log4net.ILog.Warn(System.Object)">
  16625. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads>
  16626. <summary>
  16627. Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
  16628. </summary>
  16629. <remarks>
  16630. <para>
  16631. This method first checks if this logger is <c>WARN</c>
  16632. enabled by comparing the level of this logger with the
  16633. <see cref="F:log4net.Core.Level.Warn"/> level. If this logger is
  16634. <c>WARN</c> enabled, then it converts the message object
  16635. (passed as parameter) to a string by invoking the appropriate
  16636. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  16637. proceeds to call all the registered appenders in this logger
  16638. and also higher in the hierarchy depending on the value of the
  16639. additivity flag.
  16640. </para>
  16641. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  16642. to this method will print the name of the <see cref="T:System.Exception"/>
  16643. but no stack trace. To print a stack trace use the
  16644. <see cref="M:Warn(object,Exception)"/> form instead.
  16645. </para>
  16646. </remarks>
  16647. <param name="message">The message object to log.</param>
  16648. <seealso cref="M:Warn(object,Exception)"/>
  16649. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  16650. </member>
  16651. <member name="M:log4net.ILog.Warn(System.Object,System.Exception)">
  16652. <summary>
  16653. Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level including
  16654. the stack trace of the <see cref="T:System.Exception"/> passed
  16655. as a parameter.
  16656. </summary>
  16657. <param name="message">The message object to log.</param>
  16658. <param name="exception">The exception to log, including its stack trace.</param>
  16659. <remarks>
  16660. <para>
  16661. See the <see cref="M:Warn(object)"/> form for more detailed information.
  16662. </para>
  16663. </remarks>
  16664. <seealso cref="M:Warn(object)"/>
  16665. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  16666. </member>
  16667. <member name="M:log4net.ILog.WarnFormat(System.String,System.Object[])">
  16668. <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads>
  16669. <summary>
  16670. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  16671. </summary>
  16672. <param name="format">A String containing zero or more format items</param>
  16673. <param name="args">An Object array containing zero or more objects to format</param>
  16674. <remarks>
  16675. <para>
  16676. The message is formatted using the <c>String.Format</c> method. See
  16677. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16678. of the formatting.
  16679. </para>
  16680. <para>
  16681. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16682. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
  16683. methods instead.
  16684. </para>
  16685. </remarks>
  16686. <seealso cref="M:Warn(object,Exception)"/>
  16687. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  16688. </member>
  16689. <member name="M:log4net.ILog.WarnFormat(System.String,System.Object)">
  16690. <summary>
  16691. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  16692. </summary>
  16693. <param name="format">A String containing zero or more format items</param>
  16694. <param name="arg0">An Object to format</param>
  16695. <remarks>
  16696. <para>
  16697. The message is formatted using the <c>String.Format</c> method. See
  16698. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16699. of the formatting.
  16700. </para>
  16701. <para>
  16702. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16703. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object,Exception)"/>
  16704. methods instead.
  16705. </para>
  16706. </remarks>
  16707. <seealso cref="M:Warn(object)"/>
  16708. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  16709. </member>
  16710. <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object)">
  16711. <summary>
  16712. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  16713. </summary>
  16714. <param name="format">A String containing zero or more format items</param>
  16715. <param name="arg0">An Object to format</param>
  16716. <param name="arg1">An Object to format</param>
  16717. <remarks>
  16718. <para>
  16719. The message is formatted using the <c>String.Format</c> method. See
  16720. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16721. of the formatting.
  16722. </para>
  16723. <para>
  16724. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16725. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object,Exception)"/>
  16726. methods instead.
  16727. </para>
  16728. </remarks>
  16729. <seealso cref="M:Warn(object)"/>
  16730. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  16731. </member>
  16732. <member name="M:log4net.ILog.WarnFormat(System.String,System.Object,System.Object,System.Object)">
  16733. <summary>
  16734. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  16735. </summary>
  16736. <param name="format">A String containing zero or more format items</param>
  16737. <param name="arg0">An Object to format</param>
  16738. <param name="arg1">An Object to format</param>
  16739. <param name="arg2">An Object to format</param>
  16740. <remarks>
  16741. <para>
  16742. The message is formatted using the <c>String.Format</c> method. See
  16743. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16744. of the formatting.
  16745. </para>
  16746. <para>
  16747. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16748. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object,Exception)"/>
  16749. methods instead.
  16750. </para>
  16751. </remarks>
  16752. <seealso cref="M:Warn(object)"/>
  16753. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  16754. </member>
  16755. <member name="M:log4net.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
  16756. <summary>
  16757. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  16758. </summary>
  16759. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  16760. <param name="format">A String containing zero or more format items</param>
  16761. <param name="args">An Object array containing zero or more objects to format</param>
  16762. <remarks>
  16763. <para>
  16764. The message is formatted using the <c>String.Format</c> method. See
  16765. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16766. of the formatting.
  16767. </para>
  16768. <para>
  16769. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16770. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Warn(object)"/>
  16771. methods instead.
  16772. </para>
  16773. </remarks>
  16774. <seealso cref="M:Warn(object,Exception)"/>
  16775. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  16776. </member>
  16777. <member name="M:log4net.ILog.Error(System.Object)">
  16778. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads>
  16779. <summary>
  16780. Logs a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
  16781. </summary>
  16782. <param name="message">The message object to log.</param>
  16783. <remarks>
  16784. <para>
  16785. This method first checks if this logger is <c>ERROR</c>
  16786. enabled by comparing the level of this logger with the
  16787. <see cref="F:log4net.Core.Level.Error"/> level. If this logger is
  16788. <c>ERROR</c> enabled, then it converts the message object
  16789. (passed as parameter) to a string by invoking the appropriate
  16790. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  16791. proceeds to call all the registered appenders in this logger
  16792. and also higher in the hierarchy depending on the value of the
  16793. additivity flag.
  16794. </para>
  16795. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  16796. to this method will print the name of the <see cref="T:System.Exception"/>
  16797. but no stack trace. To print a stack trace use the
  16798. <see cref="M:Error(object,Exception)"/> form instead.
  16799. </para>
  16800. </remarks>
  16801. <seealso cref="M:Error(object,Exception)"/>
  16802. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  16803. </member>
  16804. <member name="M:log4net.ILog.Error(System.Object,System.Exception)">
  16805. <summary>
  16806. Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level including
  16807. the stack trace of the <see cref="T:System.Exception"/> passed
  16808. as a parameter.
  16809. </summary>
  16810. <param name="message">The message object to log.</param>
  16811. <param name="exception">The exception to log, including its stack trace.</param>
  16812. <remarks>
  16813. <para>
  16814. See the <see cref="M:Error(object)"/> form for more detailed information.
  16815. </para>
  16816. </remarks>
  16817. <seealso cref="M:Error(object)"/>
  16818. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  16819. </member>
  16820. <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object[])">
  16821. <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads>
  16822. <summary>
  16823. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  16824. </summary>
  16825. <param name="format">A String containing zero or more format items</param>
  16826. <param name="args">An Object array containing zero or more objects to format</param>
  16827. <remarks>
  16828. <para>
  16829. The message is formatted using the <c>String.Format</c> method. See
  16830. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16831. of the formatting.
  16832. </para>
  16833. <para>
  16834. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16835. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
  16836. methods instead.
  16837. </para>
  16838. </remarks>
  16839. <seealso cref="M:Error(object,Exception)"/>
  16840. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  16841. </member>
  16842. <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object)">
  16843. <summary>
  16844. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  16845. </summary>
  16846. <param name="format">A String containing zero or more format items</param>
  16847. <param name="arg0">An Object to format</param>
  16848. <remarks>
  16849. <para>
  16850. The message is formatted using the <c>String.Format</c> method. See
  16851. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16852. of the formatting.
  16853. </para>
  16854. <para>
  16855. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16856. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object,Exception)"/>
  16857. methods instead.
  16858. </para>
  16859. </remarks>
  16860. <seealso cref="M:Error(object)"/>
  16861. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  16862. </member>
  16863. <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object)">
  16864. <summary>
  16865. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  16866. </summary>
  16867. <param name="format">A String containing zero or more format items</param>
  16868. <param name="arg0">An Object to format</param>
  16869. <param name="arg1">An Object to format</param>
  16870. <remarks>
  16871. <para>
  16872. The message is formatted using the <c>String.Format</c> method. See
  16873. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16874. of the formatting.
  16875. </para>
  16876. <para>
  16877. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16878. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object,Exception)"/>
  16879. methods instead.
  16880. </para>
  16881. </remarks>
  16882. <seealso cref="M:Error(object)"/>
  16883. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  16884. </member>
  16885. <member name="M:log4net.ILog.ErrorFormat(System.String,System.Object,System.Object,System.Object)">
  16886. <summary>
  16887. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  16888. </summary>
  16889. <param name="format">A String containing zero or more format items</param>
  16890. <param name="arg0">An Object to format</param>
  16891. <param name="arg1">An Object to format</param>
  16892. <param name="arg2">An Object to format</param>
  16893. <remarks>
  16894. <para>
  16895. The message is formatted using the <c>String.Format</c> method. See
  16896. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16897. of the formatting.
  16898. </para>
  16899. <para>
  16900. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16901. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object,Exception)"/>
  16902. methods instead.
  16903. </para>
  16904. </remarks>
  16905. <seealso cref="M:Error(object)"/>
  16906. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  16907. </member>
  16908. <member name="M:log4net.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
  16909. <summary>
  16910. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  16911. </summary>
  16912. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  16913. <param name="format">A String containing zero or more format items</param>
  16914. <param name="args">An Object array containing zero or more objects to format</param>
  16915. <remarks>
  16916. <para>
  16917. The message is formatted using the <c>String.Format</c> method. See
  16918. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16919. of the formatting.
  16920. </para>
  16921. <para>
  16922. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16923. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Error(object)"/>
  16924. methods instead.
  16925. </para>
  16926. </remarks>
  16927. <seealso cref="M:Error(object,Exception)"/>
  16928. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  16929. </member>
  16930. <member name="M:log4net.ILog.Fatal(System.Object)">
  16931. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads>
  16932. <summary>
  16933. Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  16934. </summary>
  16935. <remarks>
  16936. <para>
  16937. This method first checks if this logger is <c>FATAL</c>
  16938. enabled by comparing the level of this logger with the
  16939. <see cref="F:log4net.Core.Level.Fatal"/> level. If this logger is
  16940. <c>FATAL</c> enabled, then it converts the message object
  16941. (passed as parameter) to a string by invoking the appropriate
  16942. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  16943. proceeds to call all the registered appenders in this logger
  16944. and also higher in the hierarchy depending on the value of the
  16945. additivity flag.
  16946. </para>
  16947. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  16948. to this method will print the name of the <see cref="T:System.Exception"/>
  16949. but no stack trace. To print a stack trace use the
  16950. <see cref="M:Fatal(object,Exception)"/> form instead.
  16951. </para>
  16952. </remarks>
  16953. <param name="message">The message object to log.</param>
  16954. <seealso cref="M:Fatal(object,Exception)"/>
  16955. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  16956. </member>
  16957. <member name="M:log4net.ILog.Fatal(System.Object,System.Exception)">
  16958. <summary>
  16959. Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level including
  16960. the stack trace of the <see cref="T:System.Exception"/> passed
  16961. as a parameter.
  16962. </summary>
  16963. <param name="message">The message object to log.</param>
  16964. <param name="exception">The exception to log, including its stack trace.</param>
  16965. <remarks>
  16966. <para>
  16967. See the <see cref="M:Fatal(object)"/> form for more detailed information.
  16968. </para>
  16969. </remarks>
  16970. <seealso cref="M:Fatal(object)"/>
  16971. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  16972. </member>
  16973. <member name="M:log4net.ILog.FatalFormat(System.String,System.Object[])">
  16974. <overloads>Log a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads>
  16975. <summary>
  16976. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  16977. </summary>
  16978. <param name="format">A String containing zero or more format items</param>
  16979. <param name="args">An Object array containing zero or more objects to format</param>
  16980. <remarks>
  16981. <para>
  16982. The message is formatted using the <c>String.Format</c> method. See
  16983. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  16984. of the formatting.
  16985. </para>
  16986. <para>
  16987. This method does not take an <see cref="T:System.Exception"/> object to include in the
  16988. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
  16989. methods instead.
  16990. </para>
  16991. </remarks>
  16992. <seealso cref="M:Fatal(object,Exception)"/>
  16993. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  16994. </member>
  16995. <member name="M:log4net.ILog.FatalFormat(System.String,System.Object)">
  16996. <summary>
  16997. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  16998. </summary>
  16999. <param name="format">A String containing zero or more format items</param>
  17000. <param name="arg0">An Object to format</param>
  17001. <remarks>
  17002. <para>
  17003. The message is formatted using the <c>String.Format</c> method. See
  17004. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  17005. of the formatting.
  17006. </para>
  17007. <para>
  17008. This method does not take an <see cref="T:System.Exception"/> object to include in the
  17009. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object,Exception)"/>
  17010. methods instead.
  17011. </para>
  17012. </remarks>
  17013. <seealso cref="M:Fatal(object)"/>
  17014. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  17015. </member>
  17016. <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object)">
  17017. <summary>
  17018. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  17019. </summary>
  17020. <param name="format">A String containing zero or more format items</param>
  17021. <param name="arg0">An Object to format</param>
  17022. <param name="arg1">An Object to format</param>
  17023. <remarks>
  17024. <para>
  17025. The message is formatted using the <c>String.Format</c> method. See
  17026. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  17027. of the formatting.
  17028. </para>
  17029. <para>
  17030. This method does not take an <see cref="T:System.Exception"/> object to include in the
  17031. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object,Exception)"/>
  17032. methods instead.
  17033. </para>
  17034. </remarks>
  17035. <seealso cref="M:Fatal(object)"/>
  17036. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  17037. </member>
  17038. <member name="M:log4net.ILog.FatalFormat(System.String,System.Object,System.Object,System.Object)">
  17039. <summary>
  17040. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  17041. </summary>
  17042. <param name="format">A String containing zero or more format items</param>
  17043. <param name="arg0">An Object to format</param>
  17044. <param name="arg1">An Object to format</param>
  17045. <param name="arg2">An Object to format</param>
  17046. <remarks>
  17047. <para>
  17048. The message is formatted using the <c>String.Format</c> method. See
  17049. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  17050. of the formatting.
  17051. </para>
  17052. <para>
  17053. This method does not take an <see cref="T:System.Exception"/> object to include in the
  17054. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object,Exception)"/>
  17055. methods instead.
  17056. </para>
  17057. </remarks>
  17058. <seealso cref="M:Fatal(object)"/>
  17059. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  17060. </member>
  17061. <member name="M:log4net.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
  17062. <summary>
  17063. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  17064. </summary>
  17065. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  17066. <param name="format">A String containing zero or more format items</param>
  17067. <param name="args">An Object array containing zero or more objects to format</param>
  17068. <remarks>
  17069. <para>
  17070. The message is formatted using the <c>String.Format</c> method. See
  17071. <see cref="M:String.Format(string, object[])"/> for details of the syntax of the format string and the behavior
  17072. of the formatting.
  17073. </para>
  17074. <para>
  17075. This method does not take an <see cref="T:System.Exception"/> object to include in the
  17076. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:Fatal(object)"/>
  17077. methods instead.
  17078. </para>
  17079. </remarks>
  17080. <seealso cref="M:Fatal(object,Exception)"/>
  17081. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  17082. </member>
  17083. <member name="P:log4net.ILog.IsDebugEnabled">
  17084. <summary>
  17085. Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Debug"/> level.
  17086. </summary>
  17087. <value>
  17088. <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Debug"/> events, <c>false</c> otherwise.
  17089. </value>
  17090. <remarks>
  17091. <para>
  17092. This function is intended to lessen the computational cost of
  17093. disabled log debug statements.
  17094. </para>
  17095. <para> For some ILog interface <c>log</c>, when you write:</para>
  17096. <code lang="C#">
  17097. log.Debug("This is entry number: " + i );
  17098. </code>
  17099. <para>
  17100. You incur the cost constructing the message, string construction and concatenation in
  17101. this case, regardless of whether the message is logged or not.
  17102. </para>
  17103. <para>
  17104. If you are worried about speed (who isn't), then you should write:
  17105. </para>
  17106. <code lang="C#">
  17107. if (log.IsDebugEnabled)
  17108. {
  17109. log.Debug("This is entry number: " + i );
  17110. }
  17111. </code>
  17112. <para>
  17113. This way you will not incur the cost of parameter
  17114. construction if debugging is disabled for <c>log</c>. On
  17115. the other hand, if the <c>log</c> is debug enabled, you
  17116. will incur the cost of evaluating whether the logger is debug
  17117. enabled twice. Once in <see cref="P:log4net.ILog.IsDebugEnabled"/> and once in
  17118. the <see cref="M:Debug(object)"/>. This is an insignificant overhead
  17119. since evaluating a logger takes about 1% of the time it
  17120. takes to actually log. This is the preferred style of logging.
  17121. </para>
  17122. <para>Alternatively if your logger is available statically then the is debug
  17123. enabled state can be stored in a static variable like this:
  17124. </para>
  17125. <code lang="C#">
  17126. private static readonly bool isDebugEnabled = log.IsDebugEnabled;
  17127. </code>
  17128. <para>
  17129. Then when you come to log you can write:
  17130. </para>
  17131. <code lang="C#">
  17132. if (isDebugEnabled)
  17133. {
  17134. log.Debug("This is entry number: " + i );
  17135. }
  17136. </code>
  17137. <para>
  17138. This way the debug enabled state is only queried once
  17139. when the class is loaded. Using a <c>private static readonly</c>
  17140. variable is the most efficient because it is a run time constant
  17141. and can be heavily optimized by the JIT compiler.
  17142. </para>
  17143. <para>
  17144. Of course if you use a static readonly variable to
  17145. hold the enabled state of the logger then you cannot
  17146. change the enabled state at runtime to vary the logging
  17147. that is produced. You have to decide if you need absolute
  17148. speed or runtime flexibility.
  17149. </para>
  17150. </remarks>
  17151. <seealso cref="M:Debug(object)"/>
  17152. <seealso cref="M:DebugFormat(IFormatProvider, string, object[])"/>
  17153. </member>
  17154. <member name="P:log4net.ILog.IsInfoEnabled">
  17155. <summary>
  17156. Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Info"/> level.
  17157. </summary>
  17158. <value>
  17159. <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Info"/> events, <c>false</c> otherwise.
  17160. </value>
  17161. <remarks>
  17162. For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
  17163. </remarks>
  17164. <seealso cref="M:Info(object)"/>
  17165. <seealso cref="M:InfoFormat(IFormatProvider, string, object[])"/>
  17166. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  17167. </member>
  17168. <member name="P:log4net.ILog.IsWarnEnabled">
  17169. <summary>
  17170. Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Warn"/> level.
  17171. </summary>
  17172. <value>
  17173. <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Warn"/> events, <c>false</c> otherwise.
  17174. </value>
  17175. <remarks>
  17176. For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
  17177. </remarks>
  17178. <seealso cref="M:Warn(object)"/>
  17179. <seealso cref="M:WarnFormat(IFormatProvider, string, object[])"/>
  17180. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  17181. </member>
  17182. <member name="P:log4net.ILog.IsErrorEnabled">
  17183. <summary>
  17184. Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Error"/> level.
  17185. </summary>
  17186. <value>
  17187. <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Error"/> events, <c>false</c> otherwise.
  17188. </value>
  17189. <remarks>
  17190. For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
  17191. </remarks>
  17192. <seealso cref="M:Error(object)"/>
  17193. <seealso cref="M:ErrorFormat(IFormatProvider, string, object[])"/>
  17194. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  17195. </member>
  17196. <member name="P:log4net.ILog.IsFatalEnabled">
  17197. <summary>
  17198. Checks if this logger is enabled for the <see cref="F:log4net.Core.Level.Fatal"/> level.
  17199. </summary>
  17200. <value>
  17201. <c>true</c> if this logger is enabled for <see cref="F:log4net.Core.Level.Fatal"/> events, <c>false</c> otherwise.
  17202. </value>
  17203. <remarks>
  17204. For more information see <see cref="P:log4net.ILog.IsDebugEnabled"/>.
  17205. </remarks>
  17206. <seealso cref="M:Fatal(object)"/>
  17207. <seealso cref="M:FatalFormat(IFormatProvider, string, object[])"/>
  17208. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  17209. </member>
  17210. <member name="T:log4net.Layout.DynamicPatternLayout">
  17211. <summary>
  17212. A flexible layout configurable with pattern string that re-evaluates on each call.
  17213. </summary>
  17214. <remarks>
  17215. <para>This class is built on <see cref="T:log4net.Layout.PatternLayout"></see> and provides all the
  17216. features and capabilities of PatternLayout. PatternLayout is a 'static' class
  17217. in that its layout is done once at configuration time. This class will recreate
  17218. the layout on each reference.</para>
  17219. <para>One important difference between PatternLayout and DynamicPatternLayout is the
  17220. treatment of the Header and Footer parameters in the configuration. The Header and Footer
  17221. parameters for DynamicPatternLayout must be syntactically in the form of a PatternString,
  17222. but should not be marked as type log4net.Util.PatternString. Doing so causes the
  17223. pattern to be statically converted at configuration time and causes DynamicPatternLayout
  17224. to perform the same as PatternLayout.</para>
  17225. <para>Please see <see cref="T:log4net.Layout.PatternLayout"/> for complete documentation.</para>
  17226. <example>
  17227. &lt;layout type="log4net.Layout.DynamicPatternLayout"&gt;
  17228. &lt;param name="Header" value="%newline**** Trace Opened Local: %date{yyyy-MM-dd HH:mm:ss.fff} UTC: %utcdate{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /&gt;
  17229. &lt;param name="Footer" value="**** Trace Closed %date{yyyy-MM-dd HH:mm:ss.fff} ****%newline" /&gt;
  17230. &lt;/layout&gt;
  17231. </example>
  17232. </remarks>
  17233. </member>
  17234. <member name="F:log4net.Layout.DynamicPatternLayout.m_headerPatternString">
  17235. <summary>
  17236. The header PatternString
  17237. </summary>
  17238. </member>
  17239. <member name="F:log4net.Layout.DynamicPatternLayout.m_footerPatternString">
  17240. <summary>
  17241. The footer PatternString
  17242. </summary>
  17243. </member>
  17244. <member name="M:log4net.Layout.DynamicPatternLayout.#ctor">
  17245. <summary>
  17246. Constructs a DynamicPatternLayout using the DefaultConversionPattern
  17247. </summary>
  17248. <remarks>
  17249. <para>
  17250. The default pattern just produces the application supplied message.
  17251. </para>
  17252. </remarks>
  17253. </member>
  17254. <member name="M:log4net.Layout.DynamicPatternLayout.#ctor(System.String)">
  17255. <summary>
  17256. Constructs a DynamicPatternLayout using the supplied conversion pattern
  17257. </summary>
  17258. <param name="pattern">the pattern to use</param>
  17259. <remarks>
  17260. </remarks>
  17261. </member>
  17262. <member name="P:log4net.Layout.DynamicPatternLayout.Header">
  17263. <summary>
  17264. The header for the layout format.
  17265. </summary>
  17266. <value>the layout header</value>
  17267. <remarks>
  17268. <para>
  17269. The Header text will be appended before any logging events
  17270. are formatted and appended.
  17271. </para>
  17272. The pattern will be formatted on each get operation.
  17273. </remarks>
  17274. </member>
  17275. <member name="P:log4net.Layout.DynamicPatternLayout.Footer">
  17276. <summary>
  17277. The footer for the layout format.
  17278. </summary>
  17279. <value>the layout footer</value>
  17280. <remarks>
  17281. <para>
  17282. The Footer text will be appended after all the logging events
  17283. have been formatted and appended.
  17284. </para>
  17285. The pattern will be formatted on each get operation.
  17286. </remarks>
  17287. </member>
  17288. <member name="T:log4net.Layout.ExceptionLayout">
  17289. <summary>
  17290. A Layout that renders only the Exception text from the logging event
  17291. </summary>
  17292. <remarks>
  17293. <para>
  17294. A Layout that renders only the Exception text from the logging event.
  17295. </para>
  17296. <para>
  17297. This Layout should only be used with appenders that utilize multiple
  17298. layouts (e.g. <see cref="T:log4net.Appender.AdoNetAppender"/>).
  17299. </para>
  17300. </remarks>
  17301. <author>Nicko Cadell</author>
  17302. <author>Gert Driesen</author>
  17303. </member>
  17304. <member name="M:log4net.Layout.ExceptionLayout.#ctor">
  17305. <summary>
  17306. Default constructor
  17307. </summary>
  17308. <remarks>
  17309. <para>
  17310. Constructs a ExceptionLayout
  17311. </para>
  17312. </remarks>
  17313. </member>
  17314. <member name="M:log4net.Layout.ExceptionLayout.ActivateOptions">
  17315. <summary>
  17316. Activate component options
  17317. </summary>
  17318. <remarks>
  17319. <para>
  17320. Part of the <see cref="T:log4net.Core.IOptionHandler"/> component activation
  17321. framework.
  17322. </para>
  17323. <para>
  17324. This method does nothing as options become effective immediately.
  17325. </para>
  17326. </remarks>
  17327. </member>
  17328. <member name="M:log4net.Layout.ExceptionLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  17329. <summary>
  17330. Gets the exception text from the logging event
  17331. </summary>
  17332. <param name="writer">The TextWriter to write the formatted event to</param>
  17333. <param name="loggingEvent">the event being logged</param>
  17334. <remarks>
  17335. <para>
  17336. Write the exception string to the <see cref="T:System.IO.TextWriter"/>.
  17337. The exception string is retrieved from <see cref="M:LoggingEvent.GetExceptionString()"/>.
  17338. </para>
  17339. </remarks>
  17340. </member>
  17341. <member name="T:log4net.Layout.ILayout">
  17342. <summary>
  17343. Interface implemented by layout objects
  17344. </summary>
  17345. <remarks>
  17346. <para>
  17347. An <see cref="T:log4net.Layout.ILayout"/> object is used to format a <see cref="T:log4net.Core.LoggingEvent"/>
  17348. as text. The <see cref="M:Format(TextWriter,LoggingEvent)"/> method is called by an
  17349. appender to transform the <see cref="T:log4net.Core.LoggingEvent"/> into a string.
  17350. </para>
  17351. <para>
  17352. The layout can also supply <see cref="P:log4net.Layout.ILayout.Header"/> and <see cref="P:log4net.Layout.ILayout.Footer"/>
  17353. text that is appender before any events and after all the events respectively.
  17354. </para>
  17355. </remarks>
  17356. <author>Nicko Cadell</author>
  17357. <author>Gert Driesen</author>
  17358. </member>
  17359. <member name="M:log4net.Layout.ILayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  17360. <summary>
  17361. Implement this method to create your own layout format.
  17362. </summary>
  17363. <param name="writer">The TextWriter to write the formatted event to</param>
  17364. <param name="loggingEvent">The event to format</param>
  17365. <remarks>
  17366. <para>
  17367. This method is called by an appender to format
  17368. the <paramref name="loggingEvent"/> as text and output to a writer.
  17369. </para>
  17370. <para>
  17371. If the caller does not have a <see cref="T:System.IO.TextWriter"/> and prefers the
  17372. event to be formatted as a <see cref="T:System.String"/> then the following
  17373. code can be used to format the event into a <see cref="T:System.IO.StringWriter"/>.
  17374. </para>
  17375. <code lang="C#">
  17376. StringWriter writer = new StringWriter();
  17377. Layout.Format(writer, loggingEvent);
  17378. string formattedEvent = writer.ToString();
  17379. </code>
  17380. </remarks>
  17381. </member>
  17382. <member name="P:log4net.Layout.ILayout.ContentType">
  17383. <summary>
  17384. The content type output by this layout.
  17385. </summary>
  17386. <value>The content type</value>
  17387. <remarks>
  17388. <para>
  17389. The content type output by this layout.
  17390. </para>
  17391. <para>
  17392. This is a MIME type e.g. <c>"text/plain"</c>.
  17393. </para>
  17394. </remarks>
  17395. </member>
  17396. <member name="P:log4net.Layout.ILayout.Header">
  17397. <summary>
  17398. The header for the layout format.
  17399. </summary>
  17400. <value>the layout header</value>
  17401. <remarks>
  17402. <para>
  17403. The Header text will be appended before any logging events
  17404. are formatted and appended.
  17405. </para>
  17406. </remarks>
  17407. </member>
  17408. <member name="P:log4net.Layout.ILayout.Footer">
  17409. <summary>
  17410. The footer for the layout format.
  17411. </summary>
  17412. <value>the layout footer</value>
  17413. <remarks>
  17414. <para>
  17415. The Footer text will be appended after all the logging events
  17416. have been formatted and appended.
  17417. </para>
  17418. </remarks>
  17419. </member>
  17420. <member name="P:log4net.Layout.ILayout.IgnoresException">
  17421. <summary>
  17422. Flag indicating if this layout handle exceptions
  17423. </summary>
  17424. <value><c>false</c> if this layout handles exceptions</value>
  17425. <remarks>
  17426. <para>
  17427. If this layout handles the exception object contained within
  17428. <see cref="T:log4net.Core.LoggingEvent"/>, then the layout should return
  17429. <c>false</c>. Otherwise, if the layout ignores the exception
  17430. object, then the layout should return <c>true</c>.
  17431. </para>
  17432. </remarks>
  17433. </member>
  17434. <member name="T:log4net.Layout.IRawLayout">
  17435. <summary>
  17436. Interface for raw layout objects
  17437. </summary>
  17438. <remarks>
  17439. <para>
  17440. Interface used to format a <see cref="T:log4net.Core.LoggingEvent"/>
  17441. to an object.
  17442. </para>
  17443. <para>
  17444. This interface should not be confused with the
  17445. <see cref="T:log4net.Layout.ILayout"/> interface. This interface is used in
  17446. only certain specialized situations where a raw object is
  17447. required rather than a formatted string. The <see cref="T:log4net.Layout.ILayout"/>
  17448. is not generally useful than this interface.
  17449. </para>
  17450. </remarks>
  17451. <author>Nicko Cadell</author>
  17452. <author>Gert Driesen</author>
  17453. </member>
  17454. <member name="M:log4net.Layout.IRawLayout.Format(log4net.Core.LoggingEvent)">
  17455. <summary>
  17456. Implement this method to create your own layout format.
  17457. </summary>
  17458. <param name="loggingEvent">The event to format</param>
  17459. <returns>returns the formatted event</returns>
  17460. <remarks>
  17461. <para>
  17462. Implement this method to create your own layout format.
  17463. </para>
  17464. </remarks>
  17465. </member>
  17466. <member name="T:log4net.Layout.Layout2RawLayoutAdapter">
  17467. <summary>
  17468. Adapts any <see cref="T:log4net.Layout.ILayout"/> to a <see cref="T:log4net.Layout.IRawLayout"/>
  17469. </summary>
  17470. <remarks>
  17471. <para>
  17472. Where an <see cref="T:log4net.Layout.IRawLayout"/> is required this adapter
  17473. allows a <see cref="T:log4net.Layout.ILayout"/> to be specified.
  17474. </para>
  17475. </remarks>
  17476. <author>Nicko Cadell</author>
  17477. <author>Gert Driesen</author>
  17478. </member>
  17479. <member name="F:log4net.Layout.Layout2RawLayoutAdapter.m_layout">
  17480. <summary>
  17481. The layout to adapt
  17482. </summary>
  17483. </member>
  17484. <member name="M:log4net.Layout.Layout2RawLayoutAdapter.#ctor(log4net.Layout.ILayout)">
  17485. <summary>
  17486. Construct a new adapter
  17487. </summary>
  17488. <param name="layout">the layout to adapt</param>
  17489. <remarks>
  17490. <para>
  17491. Create the adapter for the specified <paramref name="layout"/>.
  17492. </para>
  17493. </remarks>
  17494. </member>
  17495. <member name="M:log4net.Layout.Layout2RawLayoutAdapter.Format(log4net.Core.LoggingEvent)">
  17496. <summary>
  17497. Format the logging event as an object.
  17498. </summary>
  17499. <param name="loggingEvent">The event to format</param>
  17500. <returns>returns the formatted event</returns>
  17501. <remarks>
  17502. <para>
  17503. Format the logging event as an object.
  17504. </para>
  17505. <para>
  17506. Uses the <see cref="T:log4net.Layout.ILayout"/> object supplied to
  17507. the constructor to perform the formatting.
  17508. </para>
  17509. </remarks>
  17510. </member>
  17511. <member name="T:log4net.Layout.LayoutSkeleton">
  17512. <summary>
  17513. Extend this abstract class to create your own log layout format.
  17514. </summary>
  17515. <remarks>
  17516. <para>
  17517. This is the base implementation of the <see cref="T:log4net.Layout.ILayout"/>
  17518. interface. Most layout objects should extend this class.
  17519. </para>
  17520. </remarks>
  17521. <remarks>
  17522. <note type="inheritinfo">
  17523. <para>
  17524. Subclasses must implement the <see cref="M:Format(TextWriter,LoggingEvent)"/>
  17525. method.
  17526. </para>
  17527. <para>
  17528. Subclasses should set the <see cref="P:log4net.Layout.LayoutSkeleton.IgnoresException"/> in their default
  17529. constructor.
  17530. </para>
  17531. </note>
  17532. </remarks>
  17533. <author>Nicko Cadell</author>
  17534. <author>Gert Driesen</author>
  17535. </member>
  17536. <member name="F:log4net.Layout.LayoutSkeleton.m_header">
  17537. <summary>
  17538. The header text
  17539. </summary>
  17540. <remarks>
  17541. <para>
  17542. See <see cref="P:log4net.Layout.LayoutSkeleton.Header"/> for more information.
  17543. </para>
  17544. </remarks>
  17545. </member>
  17546. <member name="F:log4net.Layout.LayoutSkeleton.m_footer">
  17547. <summary>
  17548. The footer text
  17549. </summary>
  17550. <remarks>
  17551. <para>
  17552. See <see cref="P:log4net.Layout.LayoutSkeleton.Footer"/> for more information.
  17553. </para>
  17554. </remarks>
  17555. </member>
  17556. <member name="F:log4net.Layout.LayoutSkeleton.m_ignoresException">
  17557. <summary>
  17558. Flag indicating if this layout handles exceptions
  17559. </summary>
  17560. <remarks>
  17561. <para>
  17562. <c>false</c> if this layout handles exceptions
  17563. </para>
  17564. </remarks>
  17565. </member>
  17566. <member name="M:log4net.Layout.LayoutSkeleton.#ctor">
  17567. <summary>
  17568. Empty default constructor
  17569. </summary>
  17570. <remarks>
  17571. <para>
  17572. Empty default constructor
  17573. </para>
  17574. </remarks>
  17575. </member>
  17576. <member name="M:log4net.Layout.LayoutSkeleton.ActivateOptions">
  17577. <summary>
  17578. Activate component options
  17579. </summary>
  17580. <remarks>
  17581. <para>
  17582. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  17583. activation scheme. The <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> method must
  17584. be called on this object after the configuration properties have
  17585. been set. Until <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> is called this
  17586. object is in an undefined state and must not be used.
  17587. </para>
  17588. <para>
  17589. If any of the configuration properties are modified then
  17590. <see cref="M:log4net.Layout.LayoutSkeleton.ActivateOptions"/> must be called again.
  17591. </para>
  17592. <para>
  17593. This method must be implemented by the subclass.
  17594. </para>
  17595. </remarks>
  17596. </member>
  17597. <member name="M:log4net.Layout.LayoutSkeleton.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  17598. <summary>
  17599. Implement this method to create your own layout format.
  17600. </summary>
  17601. <param name="writer">The TextWriter to write the formatted event to</param>
  17602. <param name="loggingEvent">The event to format</param>
  17603. <remarks>
  17604. <para>
  17605. This method is called by an appender to format
  17606. the <paramref name="loggingEvent"/> as text.
  17607. </para>
  17608. </remarks>
  17609. </member>
  17610. <member name="M:log4net.Layout.LayoutSkeleton.Format(log4net.Core.LoggingEvent)">
  17611. <summary>
  17612. Convenience method for easily formatting the logging event into a string variable.
  17613. </summary>
  17614. <param name="loggingEvent"></param>
  17615. <remarks>
  17616. Creates a new StringWriter instance to store the formatted logging event.
  17617. </remarks>
  17618. </member>
  17619. <member name="P:log4net.Layout.LayoutSkeleton.ContentType">
  17620. <summary>
  17621. The content type output by this layout.
  17622. </summary>
  17623. <value>The content type is <c>"text/plain"</c></value>
  17624. <remarks>
  17625. <para>
  17626. The content type output by this layout.
  17627. </para>
  17628. <para>
  17629. This base class uses the value <c>"text/plain"</c>.
  17630. To change this value a subclass must override this
  17631. property.
  17632. </para>
  17633. </remarks>
  17634. </member>
  17635. <member name="P:log4net.Layout.LayoutSkeleton.Header">
  17636. <summary>
  17637. The header for the layout format.
  17638. </summary>
  17639. <value>the layout header</value>
  17640. <remarks>
  17641. <para>
  17642. The Header text will be appended before any logging events
  17643. are formatted and appended.
  17644. </para>
  17645. </remarks>
  17646. </member>
  17647. <member name="P:log4net.Layout.LayoutSkeleton.Footer">
  17648. <summary>
  17649. The footer for the layout format.
  17650. </summary>
  17651. <value>the layout footer</value>
  17652. <remarks>
  17653. <para>
  17654. The Footer text will be appended after all the logging events
  17655. have been formatted and appended.
  17656. </para>
  17657. </remarks>
  17658. </member>
  17659. <member name="P:log4net.Layout.LayoutSkeleton.IgnoresException">
  17660. <summary>
  17661. Flag indicating if this layout handles exceptions
  17662. </summary>
  17663. <value><c>false</c> if this layout handles exceptions</value>
  17664. <remarks>
  17665. <para>
  17666. If this layout handles the exception object contained within
  17667. <see cref="T:log4net.Core.LoggingEvent"/>, then the layout should return
  17668. <c>false</c>. Otherwise, if the layout ignores the exception
  17669. object, then the layout should return <c>true</c>.
  17670. </para>
  17671. <para>
  17672. Set this value to override a this default setting. The default
  17673. value is <c>true</c>, this layout does not handle the exception.
  17674. </para>
  17675. </remarks>
  17676. </member>
  17677. <member name="T:log4net.Layout.PatternLayout">
  17678. <summary>
  17679. A flexible layout configurable with pattern string.
  17680. </summary>
  17681. <remarks>
  17682. <para>
  17683. The goal of this class is to <see cref="M:PatternLayout.Format(TextWriter,LoggingEvent)"/> a
  17684. <see cref="T:log4net.Core.LoggingEvent"/> as a string. The results
  17685. depend on the <i>conversion pattern</i>.
  17686. </para>
  17687. <para>
  17688. The conversion pattern is closely related to the conversion
  17689. pattern of the printf function in C. A conversion pattern is
  17690. composed of literal text and format control expressions called
  17691. <i>conversion specifiers</i>.
  17692. </para>
  17693. <para>
  17694. <i>You are free to insert any literal text within the conversion
  17695. pattern.</i>
  17696. </para>
  17697. <para>
  17698. Each conversion specifier starts with a percent sign (%) and is
  17699. followed by optional <i>format modifiers</i> and a <i>conversion
  17700. pattern name</i>. The conversion pattern name specifies the type of
  17701. data, e.g. logger, level, date, thread name. The format
  17702. modifiers control such things as field width, padding, left and
  17703. right justification. The following is a simple example.
  17704. </para>
  17705. <para>
  17706. Let the conversion pattern be <b>"%-5level [%thread]: %message%newline"</b> and assume
  17707. that the log4net environment was set to use a PatternLayout. Then the
  17708. statements
  17709. </para>
  17710. <code lang="C#">
  17711. ILog log = LogManager.GetLogger(typeof(TestApp));
  17712. log.Debug("Message 1");
  17713. log.Warn("Message 2");
  17714. </code>
  17715. <para>would yield the output</para>
  17716. <code>
  17717. DEBUG [main]: Message 1
  17718. WARN [main]: Message 2
  17719. </code>
  17720. <para>
  17721. Note that there is no explicit separator between text and
  17722. conversion specifiers. The pattern parser knows when it has reached
  17723. the end of a conversion specifier when it reads a conversion
  17724. character. In the example above the conversion specifier
  17725. <b>%-5level</b> means the level of the logging event should be left
  17726. justified to a width of five characters.
  17727. </para>
  17728. <para>
  17729. The recognized conversion pattern names are:
  17730. </para>
  17731. <list type="table">
  17732. <listheader>
  17733. <term>Conversion Pattern Name</term>
  17734. <description>Effect</description>
  17735. </listheader>
  17736. <item>
  17737. <term>a</term>
  17738. <description>Equivalent to <b>appdomain</b></description>
  17739. </item>
  17740. <item>
  17741. <term>appdomain</term>
  17742. <description>
  17743. Used to output the friendly name of the AppDomain where the
  17744. logging event was generated.
  17745. </description>
  17746. </item>
  17747. <item>
  17748. <term>aspnet-cache</term>
  17749. <description>
  17750. <para>
  17751. Used to output all cache items in the case of <b>%aspnet-cache</b> or just one named item if used as <b>%aspnet-cache{key}</b>
  17752. </para>
  17753. <para>
  17754. This pattern is not available for Compact Framework or Client Profile assemblies.
  17755. </para>
  17756. </description>
  17757. </item>
  17758. <item>
  17759. <term>aspnet-context</term>
  17760. <description>
  17761. <para>
  17762. Used to output all context items in the case of <b>%aspnet-context</b> or just one named item if used as <b>%aspnet-context{key}</b>
  17763. </para>
  17764. <para>
  17765. This pattern is not available for Compact Framework or Client Profile assemblies.
  17766. </para>
  17767. </description>
  17768. </item>
  17769. <item>
  17770. <term>aspnet-request</term>
  17771. <description>
  17772. <para>
  17773. Used to output all request parameters in the case of <b>%aspnet-request</b> or just one named param if used as <b>%aspnet-request{key}</b>
  17774. </para>
  17775. <para>
  17776. This pattern is not available for Compact Framework or Client Profile assemblies.
  17777. </para>
  17778. </description>
  17779. </item>
  17780. <item>
  17781. <term>aspnet-session</term>
  17782. <description>
  17783. <para>
  17784. Used to output all session items in the case of <b>%aspnet-session</b> or just one named item if used as <b>%aspnet-session{key}</b>
  17785. </para>
  17786. <para>
  17787. This pattern is not available for Compact Framework or Client Profile assemblies.
  17788. </para>
  17789. </description>
  17790. </item>
  17791. <item>
  17792. <term>c</term>
  17793. <description>Equivalent to <b>logger</b></description>
  17794. </item>
  17795. <item>
  17796. <term>C</term>
  17797. <description>Equivalent to <b>type</b></description>
  17798. </item>
  17799. <item>
  17800. <term>class</term>
  17801. <description>Equivalent to <b>type</b></description>
  17802. </item>
  17803. <item>
  17804. <term>d</term>
  17805. <description>Equivalent to <b>date</b></description>
  17806. </item>
  17807. <item>
  17808. <term>date</term>
  17809. <description>
  17810. <para>
  17811. Used to output the date of the logging event in the local time zone.
  17812. To output the date in universal time use the <c>%utcdate</c> pattern.
  17813. The date conversion
  17814. specifier may be followed by a <i>date format specifier</i> enclosed
  17815. between braces. For example, <b>%date{HH:mm:ss,fff}</b> or
  17816. <b>%date{dd MMM yyyy HH:mm:ss,fff}</b>. If no date format specifier is
  17817. given then ISO8601 format is
  17818. assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
  17819. </para>
  17820. <para>
  17821. The date format specifier admits the same syntax as the
  17822. time pattern string of the <see cref="M:DateTime.ToString(string)"/>.
  17823. </para>
  17824. <para>
  17825. For better results it is recommended to use the log4net date
  17826. formatters. These can be specified using one of the strings
  17827. "ABSOLUTE", "DATE" and "ISO8601" for specifying
  17828. <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>,
  17829. <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively
  17830. <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example,
  17831. <b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
  17832. </para>
  17833. <para>
  17834. These dedicated date formatters perform significantly
  17835. better than <see cref="M:DateTime.ToString(string)"/>.
  17836. </para>
  17837. </description>
  17838. </item>
  17839. <item>
  17840. <term>exception</term>
  17841. <description>
  17842. <para>
  17843. Used to output the exception passed in with the log message.
  17844. </para>
  17845. <para>
  17846. If an exception object is stored in the logging event
  17847. it will be rendered into the pattern output with a
  17848. trailing newline.
  17849. If there is no exception then nothing will be output
  17850. and no trailing newline will be appended.
  17851. It is typical to put a newline before the exception
  17852. and to have the exception as the last data in the pattern.
  17853. </para>
  17854. </description>
  17855. </item>
  17856. <item>
  17857. <term>F</term>
  17858. <description>Equivalent to <b>file</b></description>
  17859. </item>
  17860. <item>
  17861. <term>file</term>
  17862. <description>
  17863. <para>
  17864. Used to output the file name where the logging request was
  17865. issued.
  17866. </para>
  17867. <para>
  17868. <b>WARNING</b> Generating caller location information is
  17869. extremely slow. Its use should be avoided unless execution speed
  17870. is not an issue.
  17871. </para>
  17872. <para>
  17873. See the note below on the availability of caller location information.
  17874. </para>
  17875. </description>
  17876. </item>
  17877. <item>
  17878. <term>identity</term>
  17879. <description>
  17880. <para>
  17881. Used to output the user name for the currently active user
  17882. (Principal.Identity.Name).
  17883. </para>
  17884. <para>
  17885. <b>WARNING</b> Generating caller information is
  17886. extremely slow. Its use should be avoided unless execution speed
  17887. is not an issue.
  17888. </para>
  17889. </description>
  17890. </item>
  17891. <item>
  17892. <term>l</term>
  17893. <description>Equivalent to <b>location</b></description>
  17894. </item>
  17895. <item>
  17896. <term>L</term>
  17897. <description>Equivalent to <b>line</b></description>
  17898. </item>
  17899. <item>
  17900. <term>location</term>
  17901. <description>
  17902. <para>
  17903. Used to output location information of the caller which generated
  17904. the logging event.
  17905. </para>
  17906. <para>
  17907. The location information depends on the CLI implementation but
  17908. usually consists of the fully qualified name of the calling
  17909. method followed by the callers source the file name and line
  17910. number between parentheses.
  17911. </para>
  17912. <para>
  17913. The location information can be very useful. However, its
  17914. generation is <b>extremely</b> slow. Its use should be avoided
  17915. unless execution speed is not an issue.
  17916. </para>
  17917. <para>
  17918. See the note below on the availability of caller location information.
  17919. </para>
  17920. </description>
  17921. </item>
  17922. <item>
  17923. <term>level</term>
  17924. <description>
  17925. <para>
  17926. Used to output the level of the logging event.
  17927. </para>
  17928. </description>
  17929. </item>
  17930. <item>
  17931. <term>line</term>
  17932. <description>
  17933. <para>
  17934. Used to output the line number from where the logging request
  17935. was issued.
  17936. </para>
  17937. <para>
  17938. <b>WARNING</b> Generating caller location information is
  17939. extremely slow. Its use should be avoided unless execution speed
  17940. is not an issue.
  17941. </para>
  17942. <para>
  17943. See the note below on the availability of caller location information.
  17944. </para>
  17945. </description>
  17946. </item>
  17947. <item>
  17948. <term>logger</term>
  17949. <description>
  17950. <para>
  17951. Used to output the logger of the logging event. The
  17952. logger conversion specifier can be optionally followed by
  17953. <i>precision specifier</i>, that is a decimal constant in
  17954. brackets.
  17955. </para>
  17956. <para>
  17957. If a precision specifier is given, then only the corresponding
  17958. number of right most components of the logger name will be
  17959. printed. By default the logger name is printed in full.
  17960. </para>
  17961. <para>
  17962. For example, for the logger name "a.b.c" the pattern
  17963. <b>%logger{2}</b> will output "b.c".
  17964. </para>
  17965. </description>
  17966. </item>
  17967. <item>
  17968. <term>m</term>
  17969. <description>Equivalent to <b>message</b></description>
  17970. </item>
  17971. <item>
  17972. <term>M</term>
  17973. <description>Equivalent to <b>method</b></description>
  17974. </item>
  17975. <item>
  17976. <term>message</term>
  17977. <description>
  17978. <para>
  17979. Used to output the application supplied message associated with
  17980. the logging event.
  17981. </para>
  17982. </description>
  17983. </item>
  17984. <item>
  17985. <term>mdc</term>
  17986. <description>
  17987. <para>
  17988. The MDC (old name for the ThreadContext.Properties) is now part of the
  17989. combined event properties. This pattern is supported for compatibility
  17990. but is equivalent to <b>property</b>.
  17991. </para>
  17992. </description>
  17993. </item>
  17994. <item>
  17995. <term>method</term>
  17996. <description>
  17997. <para>
  17998. Used to output the method name where the logging request was
  17999. issued.
  18000. </para>
  18001. <para>
  18002. <b>WARNING</b> Generating caller location information is
  18003. extremely slow. Its use should be avoided unless execution speed
  18004. is not an issue.
  18005. </para>
  18006. <para>
  18007. See the note below on the availability of caller location information.
  18008. </para>
  18009. </description>
  18010. </item>
  18011. <item>
  18012. <term>n</term>
  18013. <description>Equivalent to <b>newline</b></description>
  18014. </item>
  18015. <item>
  18016. <term>newline</term>
  18017. <description>
  18018. <para>
  18019. Outputs the platform dependent line separator character or
  18020. characters.
  18021. </para>
  18022. <para>
  18023. This conversion pattern offers the same performance as using
  18024. non-portable line separator strings such as "\n", or "\r\n".
  18025. Thus, it is the preferred way of specifying a line separator.
  18026. </para>
  18027. </description>
  18028. </item>
  18029. <item>
  18030. <term>ndc</term>
  18031. <description>
  18032. <para>
  18033. Used to output the NDC (nested diagnostic context) associated
  18034. with the thread that generated the logging event.
  18035. </para>
  18036. </description>
  18037. </item>
  18038. <item>
  18039. <term>p</term>
  18040. <description>Equivalent to <b>level</b></description>
  18041. </item>
  18042. <item>
  18043. <term>P</term>
  18044. <description>Equivalent to <b>property</b></description>
  18045. </item>
  18046. <item>
  18047. <term>properties</term>
  18048. <description>Equivalent to <b>property</b></description>
  18049. </item>
  18050. <item>
  18051. <term>property</term>
  18052. <description>
  18053. <para>
  18054. Used to output the an event specific property. The key to
  18055. lookup must be specified within braces and directly following the
  18056. pattern specifier, e.g. <b>%property{user}</b> would include the value
  18057. from the property that is keyed by the string 'user'. Each property value
  18058. that is to be included in the log must be specified separately.
  18059. Properties are added to events by loggers or appenders. By default
  18060. the <c>log4net:HostName</c> property is set to the name of machine on
  18061. which the event was originally logged.
  18062. </para>
  18063. <para>
  18064. If no key is specified, e.g. <b>%property</b> then all the keys and their
  18065. values are printed in a comma separated list.
  18066. </para>
  18067. <para>
  18068. The properties of an event are combined from a number of different
  18069. contexts. These are listed below in the order in which they are searched.
  18070. </para>
  18071. <list type="definition">
  18072. <item>
  18073. <term>the event properties</term>
  18074. <description>
  18075. The event has <see cref="P:log4net.Core.LoggingEvent.Properties"/> that can be set. These
  18076. properties are specific to this event only.
  18077. </description>
  18078. </item>
  18079. <item>
  18080. <term>the thread properties</term>
  18081. <description>
  18082. The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
  18083. thread. These properties are shared by all events logged on this thread.
  18084. </description>
  18085. </item>
  18086. <item>
  18087. <term>the global properties</term>
  18088. <description>
  18089. The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These
  18090. properties are shared by all the threads in the AppDomain.
  18091. </description>
  18092. </item>
  18093. </list>
  18094. </description>
  18095. </item>
  18096. <item>
  18097. <term>r</term>
  18098. <description>Equivalent to <b>timestamp</b></description>
  18099. </item>
  18100. <item>
  18101. <term>stacktrace</term>
  18102. <description>
  18103. <para>
  18104. Used to output the stack trace of the logging event
  18105. The stack trace level specifier may be enclosed
  18106. between braces. For example, <b>%stacktrace{level}</b>.
  18107. If no stack trace level specifier is given then 1 is assumed
  18108. </para>
  18109. <para>
  18110. Output uses the format:
  18111. type3.MethodCall3 > type2.MethodCall2 > type1.MethodCall1
  18112. </para>
  18113. <para>
  18114. This pattern is not available for Compact Framework assemblies.
  18115. </para>
  18116. </description>
  18117. </item>
  18118. <item>
  18119. <term>stacktracedetail</term>
  18120. <description>
  18121. <para>
  18122. Used to output the stack trace of the logging event
  18123. The stack trace level specifier may be enclosed
  18124. between braces. For example, <b>%stacktracedetail{level}</b>.
  18125. If no stack trace level specifier is given then 1 is assumed
  18126. </para>
  18127. <para>
  18128. Output uses the format:
  18129. type3.MethodCall3(type param,...) > type2.MethodCall2(type param,...) > type1.MethodCall1(type param,...)
  18130. </para>
  18131. <para>
  18132. This pattern is not available for Compact Framework assemblies.
  18133. </para>
  18134. </description>
  18135. </item>
  18136. <item>
  18137. <term>t</term>
  18138. <description>Equivalent to <b>thread</b></description>
  18139. </item>
  18140. <item>
  18141. <term>timestamp</term>
  18142. <description>
  18143. <para>
  18144. Used to output the number of milliseconds elapsed since the start
  18145. of the application until the creation of the logging event.
  18146. </para>
  18147. </description>
  18148. </item>
  18149. <item>
  18150. <term>thread</term>
  18151. <description>
  18152. <para>
  18153. Used to output the name of the thread that generated the
  18154. logging event. Uses the thread number if no name is available.
  18155. </para>
  18156. </description>
  18157. </item>
  18158. <item>
  18159. <term>type</term>
  18160. <description>
  18161. <para>
  18162. Used to output the fully qualified type name of the caller
  18163. issuing the logging request. This conversion specifier
  18164. can be optionally followed by <i>precision specifier</i>, that
  18165. is a decimal constant in brackets.
  18166. </para>
  18167. <para>
  18168. If a precision specifier is given, then only the corresponding
  18169. number of right most components of the class name will be
  18170. printed. By default the class name is output in fully qualified form.
  18171. </para>
  18172. <para>
  18173. For example, for the class name "log4net.Layout.PatternLayout", the
  18174. pattern <b>%type{1}</b> will output "PatternLayout".
  18175. </para>
  18176. <para>
  18177. <b>WARNING</b> Generating the caller class information is
  18178. slow. Thus, its use should be avoided unless execution speed is
  18179. not an issue.
  18180. </para>
  18181. <para>
  18182. See the note below on the availability of caller location information.
  18183. </para>
  18184. </description>
  18185. </item>
  18186. <item>
  18187. <term>u</term>
  18188. <description>Equivalent to <b>identity</b></description>
  18189. </item>
  18190. <item>
  18191. <term>username</term>
  18192. <description>
  18193. <para>
  18194. Used to output the WindowsIdentity for the currently
  18195. active user.
  18196. </para>
  18197. <para>
  18198. <b>WARNING</b> Generating caller WindowsIdentity information is
  18199. extremely slow. Its use should be avoided unless execution speed
  18200. is not an issue.
  18201. </para>
  18202. </description>
  18203. </item>
  18204. <item>
  18205. <term>utcdate</term>
  18206. <description>
  18207. <para>
  18208. Used to output the date of the logging event in universal time.
  18209. The date conversion
  18210. specifier may be followed by a <i>date format specifier</i> enclosed
  18211. between braces. For example, <b>%utcdate{HH:mm:ss,fff}</b> or
  18212. <b>%utcdate{dd MMM yyyy HH:mm:ss,fff}</b>. If no date format specifier is
  18213. given then ISO8601 format is
  18214. assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
  18215. </para>
  18216. <para>
  18217. The date format specifier admits the same syntax as the
  18218. time pattern string of the <see cref="M:DateTime.ToString(string)"/>.
  18219. </para>
  18220. <para>
  18221. For better results it is recommended to use the log4net date
  18222. formatters. These can be specified using one of the strings
  18223. "ABSOLUTE", "DATE" and "ISO8601" for specifying
  18224. <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>,
  18225. <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively
  18226. <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example,
  18227. <b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
  18228. </para>
  18229. <para>
  18230. These dedicated date formatters perform significantly
  18231. better than <see cref="M:DateTime.ToString(string)"/>.
  18232. </para>
  18233. </description>
  18234. </item>
  18235. <item>
  18236. <term>w</term>
  18237. <description>Equivalent to <b>username</b></description>
  18238. </item>
  18239. <item>
  18240. <term>x</term>
  18241. <description>Equivalent to <b>ndc</b></description>
  18242. </item>
  18243. <item>
  18244. <term>X</term>
  18245. <description>Equivalent to <b>mdc</b></description>
  18246. </item>
  18247. <item>
  18248. <term>%</term>
  18249. <description>
  18250. <para>
  18251. The sequence %% outputs a single percent sign.
  18252. </para>
  18253. </description>
  18254. </item>
  18255. </list>
  18256. <para>
  18257. The single letter patterns are deprecated in favor of the
  18258. longer more descriptive pattern names.
  18259. </para>
  18260. <para>
  18261. By default the relevant information is output as is. However,
  18262. with the aid of format modifiers it is possible to change the
  18263. minimum field width, the maximum field width and justification.
  18264. </para>
  18265. <para>
  18266. The optional format modifier is placed between the percent sign
  18267. and the conversion pattern name.
  18268. </para>
  18269. <para>
  18270. The first optional format modifier is the <i>left justification
  18271. flag</i> which is just the minus (-) character. Then comes the
  18272. optional <i>minimum field width</i> modifier. This is a decimal
  18273. constant that represents the minimum number of characters to
  18274. output. If the data item requires fewer characters, it is padded on
  18275. either the left or the right until the minimum width is
  18276. reached. The default is to pad on the left (right justify) but you
  18277. can specify right padding with the left justification flag. The
  18278. padding character is space. If the data item is larger than the
  18279. minimum field width, the field is expanded to accommodate the
  18280. data. The value is never truncated.
  18281. </para>
  18282. <para>
  18283. This behavior can be changed using the <i>maximum field
  18284. width</i> modifier which is designated by a period followed by a
  18285. decimal constant. If the data item is longer than the maximum
  18286. field, then the extra characters are removed from the
  18287. <i>beginning</i> of the data item and not from the end. For
  18288. example, it the maximum field width is eight and the data item is
  18289. ten characters long, then the first two characters of the data item
  18290. are dropped. This behavior deviates from the printf function in C
  18291. where truncation is done from the end.
  18292. </para>
  18293. <para>
  18294. Below are various format modifier examples for the logger
  18295. conversion specifier.
  18296. </para>
  18297. <div class="tablediv">
  18298. <table class="dtTABLE" cellspacing="0">
  18299. <tr>
  18300. <th>Format modifier</th>
  18301. <th>left justify</th>
  18302. <th>minimum width</th>
  18303. <th>maximum width</th>
  18304. <th>comment</th>
  18305. </tr>
  18306. <tr>
  18307. <td align="center">%20logger</td>
  18308. <td align="center">false</td>
  18309. <td align="center">20</td>
  18310. <td align="center">none</td>
  18311. <td>
  18312. <para>
  18313. Left pad with spaces if the logger name is less than 20
  18314. characters long.
  18315. </para>
  18316. </td>
  18317. </tr>
  18318. <tr>
  18319. <td align="center">%-20logger</td>
  18320. <td align="center">true</td>
  18321. <td align="center">20</td>
  18322. <td align="center">none</td>
  18323. <td>
  18324. <para>
  18325. Right pad with spaces if the logger
  18326. name is less than 20 characters long.
  18327. </para>
  18328. </td>
  18329. </tr>
  18330. <tr>
  18331. <td align="center">%.30logger</td>
  18332. <td align="center">NA</td>
  18333. <td align="center">none</td>
  18334. <td align="center">30</td>
  18335. <td>
  18336. <para>
  18337. Truncate from the beginning if the logger
  18338. name is longer than 30 characters.
  18339. </para>
  18340. </td>
  18341. </tr>
  18342. <tr>
  18343. <td align="center"><nobr>%20.30logger</nobr></td>
  18344. <td align="center">false</td>
  18345. <td align="center">20</td>
  18346. <td align="center">30</td>
  18347. <td>
  18348. <para>
  18349. Left pad with spaces if the logger name is shorter than 20
  18350. characters. However, if logger name is longer than 30 characters,
  18351. then truncate from the beginning.
  18352. </para>
  18353. </td>
  18354. </tr>
  18355. <tr>
  18356. <td align="center">%-20.30logger</td>
  18357. <td align="center">true</td>
  18358. <td align="center">20</td>
  18359. <td align="center">30</td>
  18360. <td>
  18361. <para>
  18362. Right pad with spaces if the logger name is shorter than 20
  18363. characters. However, if logger name is longer than 30 characters,
  18364. then truncate from the beginning.
  18365. </para>
  18366. </td>
  18367. </tr>
  18368. </table>
  18369. </div>
  18370. <para>
  18371. <b>Note about caller location information.</b><br />
  18372. The following patterns <c>%type %file %line %method %location %class %C %F %L %l %M</c>
  18373. all generate caller location information.
  18374. Location information uses the <c>System.Diagnostics.StackTrace</c> class to generate
  18375. a call stack. The caller's information is then extracted from this stack.
  18376. </para>
  18377. <note type="caution">
  18378. <para>
  18379. The <c>System.Diagnostics.StackTrace</c> class is not supported on the
  18380. .NET Compact Framework 1.0 therefore caller location information is not
  18381. available on that framework.
  18382. </para>
  18383. </note>
  18384. <note type="caution">
  18385. <para>
  18386. The <c>System.Diagnostics.StackTrace</c> class has this to say about Release builds:
  18387. </para>
  18388. <para>
  18389. "StackTrace information will be most informative with Debug build configurations.
  18390. By default, Debug builds include debug symbols, while Release builds do not. The
  18391. debug symbols contain most of the file, method name, line number, and column
  18392. information used in constructing StackFrame and StackTrace objects. StackTrace
  18393. might not report as many method calls as expected, due to code transformations
  18394. that occur during optimization."
  18395. </para>
  18396. <para>
  18397. This means that in a Release build the caller information may be incomplete or may
  18398. not exist at all! Therefore caller location information cannot be relied upon in a Release build.
  18399. </para>
  18400. </note>
  18401. <para>
  18402. Additional pattern converters may be registered with a specific <see cref="T:log4net.Layout.PatternLayout"/>
  18403. instance using the <see cref="M:AddConverter(string, Type)"/> method.
  18404. </para>
  18405. </remarks>
  18406. <example>
  18407. This is a more detailed pattern.
  18408. <code><b>%timestamp [%thread] %level %logger %ndc - %message%newline</b></code>
  18409. </example>
  18410. <example>
  18411. A similar pattern except that the relative time is
  18412. right padded if less than 6 digits, thread name is right padded if
  18413. less than 15 characters and truncated if longer and the logger
  18414. name is left padded if shorter than 30 characters and truncated if
  18415. longer.
  18416. <code><b>%-6timestamp [%15.15thread] %-5level %30.30logger %ndc - %message%newline</b></code>
  18417. </example>
  18418. <author>Nicko Cadell</author>
  18419. <author>Gert Driesen</author>
  18420. <author>Douglas de la Torre</author>
  18421. <author>Daniel Cazzulino</author>
  18422. </member>
  18423. <member name="F:log4net.Layout.PatternLayout.DefaultConversionPattern">
  18424. <summary>
  18425. Default pattern string for log output.
  18426. </summary>
  18427. <remarks>
  18428. <para>
  18429. Default pattern string for log output.
  18430. Currently set to the string <b>"%message%newline"</b>
  18431. which just prints the application supplied message.
  18432. </para>
  18433. </remarks>
  18434. </member>
  18435. <member name="F:log4net.Layout.PatternLayout.DetailConversionPattern">
  18436. <summary>
  18437. A detailed conversion pattern
  18438. </summary>
  18439. <remarks>
  18440. <para>
  18441. A conversion pattern which includes Time, Thread, Logger, and Nested Context.
  18442. Current value is <b>%timestamp [%thread] %level %logger %ndc - %message%newline</b>.
  18443. </para>
  18444. </remarks>
  18445. </member>
  18446. <member name="F:log4net.Layout.PatternLayout.s_globalRulesRegistry">
  18447. <summary>
  18448. Internal map of converter identifiers to converter types.
  18449. </summary>
  18450. <remarks>
  18451. <para>
  18452. This static map is overridden by the m_converterRegistry instance map
  18453. </para>
  18454. </remarks>
  18455. </member>
  18456. <member name="F:log4net.Layout.PatternLayout.m_pattern">
  18457. <summary>
  18458. the pattern
  18459. </summary>
  18460. </member>
  18461. <member name="F:log4net.Layout.PatternLayout.m_head">
  18462. <summary>
  18463. the head of the pattern converter chain
  18464. </summary>
  18465. </member>
  18466. <member name="F:log4net.Layout.PatternLayout.m_instanceRulesRegistry">
  18467. <summary>
  18468. patterns defined on this PatternLayout only
  18469. </summary>
  18470. </member>
  18471. <member name="M:log4net.Layout.PatternLayout.#cctor">
  18472. <summary>
  18473. Initialize the global registry
  18474. </summary>
  18475. <remarks>
  18476. <para>
  18477. Defines the builtin global rules.
  18478. </para>
  18479. </remarks>
  18480. </member>
  18481. <member name="M:log4net.Layout.PatternLayout.#ctor">
  18482. <summary>
  18483. Constructs a PatternLayout using the DefaultConversionPattern
  18484. </summary>
  18485. <remarks>
  18486. <para>
  18487. The default pattern just produces the application supplied message.
  18488. </para>
  18489. <para>
  18490. Note to Inheritors: This constructor calls the virtual method
  18491. <see cref="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)"/>. If you override this method be
  18492. aware that it will be called before your is called constructor.
  18493. </para>
  18494. <para>
  18495. As per the <see cref="T:log4net.Core.IOptionHandler"/> contract the <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/>
  18496. method must be called after the properties on this object have been
  18497. configured.
  18498. </para>
  18499. </remarks>
  18500. </member>
  18501. <member name="M:log4net.Layout.PatternLayout.#ctor(System.String)">
  18502. <summary>
  18503. Constructs a PatternLayout using the supplied conversion pattern
  18504. </summary>
  18505. <param name="pattern">the pattern to use</param>
  18506. <remarks>
  18507. <para>
  18508. Note to Inheritors: This constructor calls the virtual method
  18509. <see cref="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)"/>. If you override this method be
  18510. aware that it will be called before your is called constructor.
  18511. </para>
  18512. <para>
  18513. When using this constructor the <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> method
  18514. need not be called. This may not be the case when using a subclass.
  18515. </para>
  18516. </remarks>
  18517. </member>
  18518. <member name="P:log4net.Layout.PatternLayout.ConversionPattern">
  18519. <summary>
  18520. The pattern formatting string
  18521. </summary>
  18522. <remarks>
  18523. <para>
  18524. The <b>ConversionPattern</b> option. This is the string which
  18525. controls formatting and consists of a mix of literal content and
  18526. conversion specifiers.
  18527. </para>
  18528. </remarks>
  18529. </member>
  18530. <member name="M:log4net.Layout.PatternLayout.CreatePatternParser(System.String)">
  18531. <summary>
  18532. Create the pattern parser instance
  18533. </summary>
  18534. <param name="pattern">the pattern to parse</param>
  18535. <returns>The <see cref="T:log4net.Util.PatternParser"/> that will format the event</returns>
  18536. <remarks>
  18537. <para>
  18538. Creates the <see cref="T:log4net.Util.PatternParser"/> used to parse the conversion string. Sets the
  18539. global and instance rules on the <see cref="T:log4net.Util.PatternParser"/>.
  18540. </para>
  18541. </remarks>
  18542. </member>
  18543. <member name="M:log4net.Layout.PatternLayout.ActivateOptions">
  18544. <summary>
  18545. Initialize layout options
  18546. </summary>
  18547. <remarks>
  18548. <para>
  18549. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  18550. activation scheme. The <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> method must
  18551. be called on this object after the configuration properties have
  18552. been set. Until <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> is called this
  18553. object is in an undefined state and must not be used.
  18554. </para>
  18555. <para>
  18556. If any of the configuration properties are modified then
  18557. <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/> must be called again.
  18558. </para>
  18559. </remarks>
  18560. </member>
  18561. <member name="M:log4net.Layout.PatternLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  18562. <summary>
  18563. Produces a formatted string as specified by the conversion pattern.
  18564. </summary>
  18565. <param name="loggingEvent">the event being logged</param>
  18566. <param name="writer">The TextWriter to write the formatted event to</param>
  18567. <remarks>
  18568. <para>
  18569. Parse the <see cref="T:log4net.Core.LoggingEvent"/> using the patter format
  18570. specified in the <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/> property.
  18571. </para>
  18572. </remarks>
  18573. </member>
  18574. <member name="M:log4net.Layout.PatternLayout.AddConverter(log4net.Util.ConverterInfo)">
  18575. <summary>
  18576. Add a converter to this PatternLayout
  18577. </summary>
  18578. <param name="converterInfo">the converter info</param>
  18579. <remarks>
  18580. <para>
  18581. This version of the method is used by the configurator.
  18582. Programmatic users should use the alternative <see cref="M:AddConverter(string,Type)"/> method.
  18583. </para>
  18584. </remarks>
  18585. </member>
  18586. <member name="M:log4net.Layout.PatternLayout.AddConverter(System.String,System.Type)">
  18587. <summary>
  18588. Add a converter to this PatternLayout
  18589. </summary>
  18590. <param name="name">the name of the conversion pattern for this converter</param>
  18591. <param name="type">the type of the converter</param>
  18592. <remarks>
  18593. <para>
  18594. Add a named pattern converter to this instance. This
  18595. converter will be used in the formatting of the event.
  18596. This method must be called before <see cref="M:log4net.Layout.PatternLayout.ActivateOptions"/>.
  18597. </para>
  18598. <para>
  18599. The <paramref name="type"/> specified must extend the
  18600. <see cref="T:log4net.Util.PatternConverter"/> type.
  18601. </para>
  18602. </remarks>
  18603. </member>
  18604. <member name="T:log4net.Layout.Pattern.AppDomainPatternConverter">
  18605. <summary>
  18606. Write the event appdomain name to the output
  18607. </summary>
  18608. <remarks>
  18609. <para>
  18610. Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output writer.
  18611. </para>
  18612. </remarks>
  18613. <author>Daniel Cazzulino</author>
  18614. <author>Nicko Cadell</author>
  18615. </member>
  18616. <member name="M:log4net.Layout.Pattern.AppDomainPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  18617. <summary>
  18618. Write the event appdomain name to the output
  18619. </summary>
  18620. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18621. <param name="loggingEvent">the event being logged</param>
  18622. <remarks>
  18623. <para>
  18624. Writes the <see cref="P:log4net.Core.LoggingEvent.Domain"/> to the output <paramref name="writer"/>.
  18625. </para>
  18626. </remarks>
  18627. </member>
  18628. <member name="T:log4net.Layout.Pattern.AspNetCachePatternConverter">
  18629. <summary>
  18630. Converter for items in the ASP.Net Cache.
  18631. </summary>
  18632. <remarks>
  18633. <para>
  18634. Outputs an item from the <see cref="P:System.Web.HttpRuntime.Cache" />.
  18635. </para>
  18636. </remarks>
  18637. <author>Ron Grabowski</author>
  18638. </member>
  18639. <member name="M:log4net.Layout.Pattern.AspNetCachePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
  18640. <summary>
  18641. Write the ASP.Net Cache item to the output
  18642. </summary>
  18643. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18644. <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent" /> on which the pattern converter should be executed.</param>
  18645. <param name="httpContext">The <see cref="T:System.Web.HttpContext" /> under which the ASP.Net request is running.</param>
  18646. <remarks>
  18647. <para>
  18648. Writes out the value of a named property. The property name
  18649. should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
  18650. property. If no property has been set, all key value pairs from the Cache will
  18651. be written to the output.
  18652. </para>
  18653. </remarks>
  18654. </member>
  18655. <member name="T:log4net.Layout.Pattern.AspNetContextPatternConverter">
  18656. <summary>
  18657. Converter for items in the <see cref="T:System.Web.HttpContext" />.
  18658. </summary>
  18659. <remarks>
  18660. <para>
  18661. Outputs an item from the <see cref="T:System.Web.HttpContext" />.
  18662. </para>
  18663. </remarks>
  18664. <author>Ron Grabowski</author>
  18665. </member>
  18666. <member name="M:log4net.Layout.Pattern.AspNetContextPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
  18667. <summary>
  18668. Write the ASP.Net HttpContext item to the output
  18669. </summary>
  18670. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18671. <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent" /> on which the pattern converter should be executed.</param>
  18672. <param name="httpContext">The <see cref="T:System.Web.HttpContext" /> under which the ASP.Net request is running.</param>
  18673. <remarks>
  18674. <para>
  18675. Writes out the value of a named property. The property name
  18676. should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
  18677. property.
  18678. </para>
  18679. </remarks>
  18680. </member>
  18681. <member name="T:log4net.Layout.Pattern.AspNetPatternLayoutConverter">
  18682. <summary>
  18683. Abstract class that provides access to the current HttpContext (<see cref="P:System.Web.HttpContext.Current" />) that
  18684. derived classes need.
  18685. </summary>
  18686. <remarks>
  18687. This class handles the case when HttpContext.Current is null by writing
  18688. <see cref="P:log4net.Util.SystemInfo.NotAvailableText" /> to the writer.
  18689. </remarks>
  18690. <author>Ron Grabowski</author>
  18691. </member>
  18692. <member name="M:log4net.Layout.Pattern.AspNetPatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
  18693. <summary>
  18694. Derived pattern converters must override this method in order to
  18695. convert conversion specifiers in the correct way.
  18696. </summary>
  18697. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18698. <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent" /> on which the pattern converter should be executed.</param>
  18699. <param name="httpContext">The <see cref="T:System.Web.HttpContext" /> under which the ASP.Net request is running.</param>
  18700. </member>
  18701. <member name="T:log4net.Layout.Pattern.AspNetRequestPatternConverter">
  18702. <summary>
  18703. Converter for items in the ASP.Net Cache.
  18704. </summary>
  18705. <remarks>
  18706. <para>
  18707. Outputs an item from the <see cref="P:System.Web.HttpRuntime.Cache" />.
  18708. </para>
  18709. </remarks>
  18710. <author>Ron Grabowski</author>
  18711. </member>
  18712. <member name="M:log4net.Layout.Pattern.AspNetRequestPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
  18713. <summary>
  18714. Write the ASP.Net Cache item to the output
  18715. </summary>
  18716. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18717. <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent" /> on which the pattern converter should be executed.</param>
  18718. <param name="httpContext">The <see cref="T:System.Web.HttpContext" /> under which the ASP.Net request is running.</param>
  18719. <remarks>
  18720. <para>
  18721. Writes out the value of a named property. The property name
  18722. should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
  18723. property.
  18724. </para>
  18725. </remarks>
  18726. </member>
  18727. <member name="T:log4net.Layout.Pattern.AspNetSessionPatternConverter">
  18728. <summary>
  18729. Converter for items in the ASP.Net Cache.
  18730. </summary>
  18731. <remarks>
  18732. <para>
  18733. Outputs an item from the <see cref="P:System.Web.HttpRuntime.Cache" />.
  18734. </para>
  18735. </remarks>
  18736. <author>Ron Grabowski</author>
  18737. </member>
  18738. <member name="M:log4net.Layout.Pattern.AspNetSessionPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent,System.Web.HttpContext)">
  18739. <summary>
  18740. Write the ASP.Net Cache item to the output
  18741. </summary>
  18742. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18743. <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent" /> on which the pattern converter should be executed.</param>
  18744. <param name="httpContext">The <see cref="T:System.Web.HttpContext" /> under which the ASP.Net request is running.</param>
  18745. <remarks>
  18746. <para>
  18747. Writes out the value of a named property. The property name
  18748. should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
  18749. property. If no property has been set, all key value pairs from the Session will
  18750. be written to the output.
  18751. </para>
  18752. </remarks>
  18753. </member>
  18754. <member name="T:log4net.Layout.Pattern.DatePatternConverter">
  18755. <summary>
  18756. Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format
  18757. the date of a <see cref="T:log4net.Core.LoggingEvent"/>.
  18758. </summary>
  18759. <remarks>
  18760. <para>
  18761. Render the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the writer as a string.
  18762. </para>
  18763. <para>
  18764. The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines
  18765. the formatting of the date. The following values are allowed:
  18766. <list type="definition">
  18767. <listheader>
  18768. <term>Option value</term>
  18769. <description>Output</description>
  18770. </listheader>
  18771. <item>
  18772. <term>ISO8601</term>
  18773. <description>
  18774. Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter.
  18775. Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
  18776. </description>
  18777. </item>
  18778. <item>
  18779. <term>DATE</term>
  18780. <description>
  18781. Uses the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> formatter.
  18782. Formats using the <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, <c>"06 Nov 1994 15:49:37,459"</c>.
  18783. </description>
  18784. </item>
  18785. <item>
  18786. <term>ABSOLUTE</term>
  18787. <description>
  18788. Uses the <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/> formatter.
  18789. Formats using the <c>"HH:mm:ss,yyyy"</c> for example, <c>"15:49:37,459"</c>.
  18790. </description>
  18791. </item>
  18792. <item>
  18793. <term>other</term>
  18794. <description>
  18795. Any other pattern string uses the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> formatter.
  18796. This formatter passes the pattern string to the <see cref="T:System.DateTime"/>
  18797. <see cref="M:DateTime.ToString(string)"/> method.
  18798. For details on valid patterns see
  18799. <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp">DateTimeFormatInfo Class</a>.
  18800. </description>
  18801. </item>
  18802. </list>
  18803. </para>
  18804. <para>
  18805. The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> is in the local time zone and is rendered in that zone.
  18806. To output the time in Universal time see <see cref="T:log4net.Layout.Pattern.UtcDatePatternConverter"/>.
  18807. </para>
  18808. </remarks>
  18809. <author>Nicko Cadell</author>
  18810. </member>
  18811. <member name="F:log4net.Layout.Pattern.DatePatternConverter.m_dateFormatter">
  18812. <summary>
  18813. The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
  18814. </summary>
  18815. <remarks>
  18816. <para>
  18817. The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
  18818. </para>
  18819. </remarks>
  18820. </member>
  18821. <member name="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions">
  18822. <summary>
  18823. Initialize the converter pattern based on the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
  18824. </summary>
  18825. <remarks>
  18826. <para>
  18827. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  18828. activation scheme. The <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> method must
  18829. be called on this object after the configuration properties have
  18830. been set. Until <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> is called this
  18831. object is in an undefined state and must not be used.
  18832. </para>
  18833. <para>
  18834. If any of the configuration properties are modified then
  18835. <see cref="M:log4net.Layout.Pattern.DatePatternConverter.ActivateOptions"/> must be called again.
  18836. </para>
  18837. </remarks>
  18838. </member>
  18839. <member name="M:log4net.Layout.Pattern.DatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  18840. <summary>
  18841. Convert the pattern into the rendered message
  18842. </summary>
  18843. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18844. <param name="loggingEvent">the event being logged</param>
  18845. <remarks>
  18846. <para>
  18847. Pass the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
  18848. for it to render it to the writer.
  18849. </para>
  18850. <para>
  18851. The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> passed is in the local time zone.
  18852. </para>
  18853. </remarks>
  18854. </member>
  18855. <member name="F:log4net.Layout.Pattern.DatePatternConverter.declaringType">
  18856. <summary>
  18857. The fully qualified type of the DatePatternConverter class.
  18858. </summary>
  18859. <remarks>
  18860. Used by the internal logger to record the Type of the
  18861. log message.
  18862. </remarks>
  18863. </member>
  18864. <member name="T:log4net.Layout.Pattern.ExceptionPatternConverter">
  18865. <summary>
  18866. Write the exception text to the output
  18867. </summary>
  18868. <remarks>
  18869. <para>
  18870. If an exception object is stored in the logging event
  18871. it will be rendered into the pattern output with a
  18872. trailing newline.
  18873. </para>
  18874. <para>
  18875. If there is no exception then nothing will be output
  18876. and no trailing newline will be appended.
  18877. It is typical to put a newline before the exception
  18878. and to have the exception as the last data in the pattern.
  18879. </para>
  18880. </remarks>
  18881. <author>Nicko Cadell</author>
  18882. </member>
  18883. <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.#ctor">
  18884. <summary>
  18885. Default constructor
  18886. </summary>
  18887. </member>
  18888. <member name="M:log4net.Layout.Pattern.ExceptionPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  18889. <summary>
  18890. Write the exception text to the output
  18891. </summary>
  18892. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18893. <param name="loggingEvent">the event being logged</param>
  18894. <remarks>
  18895. <para>
  18896. If an exception object is stored in the logging event
  18897. it will be rendered into the pattern output with a
  18898. trailing newline.
  18899. </para>
  18900. <para>
  18901. If there is no exception or the exception property specified
  18902. by the Option value does not exist then nothing will be output
  18903. and no trailing newline will be appended.
  18904. It is typical to put a newline before the exception
  18905. and to have the exception as the last data in the pattern.
  18906. </para>
  18907. <para>
  18908. Recognized values for the Option parameter are:
  18909. </para>
  18910. <list type="bullet">
  18911. <item>
  18912. <description>Message</description>
  18913. </item>
  18914. <item>
  18915. <description>Source</description>
  18916. </item>
  18917. <item>
  18918. <description>StackTrace</description>
  18919. </item>
  18920. <item>
  18921. <description>TargetSite</description>
  18922. </item>
  18923. <item>
  18924. <description>HelpLink</description>
  18925. </item>
  18926. </list>
  18927. </remarks>
  18928. </member>
  18929. <member name="T:log4net.Layout.Pattern.FileLocationPatternConverter">
  18930. <summary>
  18931. Writes the caller location file name to the output
  18932. </summary>
  18933. <remarks>
  18934. <para>
  18935. Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
  18936. the event to the output writer.
  18937. </para>
  18938. </remarks>
  18939. <author>Nicko Cadell</author>
  18940. </member>
  18941. <member name="M:log4net.Layout.Pattern.FileLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  18942. <summary>
  18943. Write the caller location file name to the output
  18944. </summary>
  18945. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18946. <param name="loggingEvent">the event being logged</param>
  18947. <remarks>
  18948. <para>
  18949. Writes the value of the <see cref="P:log4net.Core.LocationInfo.FileName"/> for
  18950. the <paramref name="loggingEvent"/> to the output <paramref name="writer"/>.
  18951. </para>
  18952. </remarks>
  18953. </member>
  18954. <member name="T:log4net.Layout.Pattern.FullLocationPatternConverter">
  18955. <summary>
  18956. Write the caller location info to the output
  18957. </summary>
  18958. <remarks>
  18959. <para>
  18960. Writes the <see cref="P:log4net.Core.LocationInfo.FullInfo"/> to the output writer.
  18961. </para>
  18962. </remarks>
  18963. <author>Nicko Cadell</author>
  18964. </member>
  18965. <member name="M:log4net.Layout.Pattern.FullLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  18966. <summary>
  18967. Write the caller location info to the output
  18968. </summary>
  18969. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18970. <param name="loggingEvent">the event being logged</param>
  18971. <remarks>
  18972. <para>
  18973. Writes the <see cref="P:log4net.Core.LocationInfo.FullInfo"/> to the output writer.
  18974. </para>
  18975. </remarks>
  18976. </member>
  18977. <member name="T:log4net.Layout.Pattern.IdentityPatternConverter">
  18978. <summary>
  18979. Writes the event identity to the output
  18980. </summary>
  18981. <remarks>
  18982. <para>
  18983. Writes the value of the <see cref="P:log4net.Core.LoggingEvent.Identity"/> to
  18984. the output writer.
  18985. </para>
  18986. </remarks>
  18987. <author>Daniel Cazzulino</author>
  18988. <author>Nicko Cadell</author>
  18989. </member>
  18990. <member name="M:log4net.Layout.Pattern.IdentityPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  18991. <summary>
  18992. Writes the event identity to the output
  18993. </summary>
  18994. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  18995. <param name="loggingEvent">the event being logged</param>
  18996. <remarks>
  18997. <para>
  18998. Writes the value of the <paramref name="loggingEvent"/>
  18999. <see cref="P:log4net.Core.LoggingEvent.Identity"/> to
  19000. the output <paramref name="writer"/>.
  19001. </para>
  19002. </remarks>
  19003. </member>
  19004. <member name="T:log4net.Layout.Pattern.LevelPatternConverter">
  19005. <summary>
  19006. Write the event level to the output
  19007. </summary>
  19008. <remarks>
  19009. <para>
  19010. Writes the display name of the event <see cref="P:log4net.Core.LoggingEvent.Level"/>
  19011. to the writer.
  19012. </para>
  19013. </remarks>
  19014. <author>Nicko Cadell</author>
  19015. </member>
  19016. <member name="M:log4net.Layout.Pattern.LevelPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19017. <summary>
  19018. Write the event level to the output
  19019. </summary>
  19020. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19021. <param name="loggingEvent">the event being logged</param>
  19022. <remarks>
  19023. <para>
  19024. Writes the <see cref="P:log4net.Core.Level.DisplayName"/> of the <paramref name="loggingEvent"/> <see cref="P:log4net.Core.LoggingEvent.Level"/>
  19025. to the <paramref name="writer"/>.
  19026. </para>
  19027. </remarks>
  19028. </member>
  19029. <member name="T:log4net.Layout.Pattern.LineLocationPatternConverter">
  19030. <summary>
  19031. Write the caller location line number to the output
  19032. </summary>
  19033. <remarks>
  19034. <para>
  19035. Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
  19036. the event to the output writer.
  19037. </para>
  19038. </remarks>
  19039. <author>Nicko Cadell</author>
  19040. </member>
  19041. <member name="M:log4net.Layout.Pattern.LineLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19042. <summary>
  19043. Write the caller location line number to the output
  19044. </summary>
  19045. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19046. <param name="loggingEvent">the event being logged</param>
  19047. <remarks>
  19048. <para>
  19049. Writes the value of the <see cref="P:log4net.Core.LocationInfo.LineNumber"/> for
  19050. the <paramref name="loggingEvent"/> to the output <paramref name="writer"/>.
  19051. </para>
  19052. </remarks>
  19053. </member>
  19054. <member name="T:log4net.Layout.Pattern.LoggerPatternConverter">
  19055. <summary>
  19056. Converter for logger name
  19057. </summary>
  19058. <remarks>
  19059. <para>
  19060. Outputs the <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the event.
  19061. </para>
  19062. </remarks>
  19063. <author>Nicko Cadell</author>
  19064. </member>
  19065. <member name="M:log4net.Layout.Pattern.LoggerPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
  19066. <summary>
  19067. Gets the fully qualified name of the logger
  19068. </summary>
  19069. <param name="loggingEvent">the event being logged</param>
  19070. <returns>The fully qualified logger name</returns>
  19071. <remarks>
  19072. <para>
  19073. Returns the <see cref="P:log4net.Core.LoggingEvent.LoggerName"/> of the <paramref name="loggingEvent"/>.
  19074. </para>
  19075. </remarks>
  19076. </member>
  19077. <member name="T:log4net.Layout.Pattern.MessagePatternConverter">
  19078. <summary>
  19079. Writes the event message to the output
  19080. </summary>
  19081. <remarks>
  19082. <para>
  19083. Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
  19084. to write out the event message.
  19085. </para>
  19086. </remarks>
  19087. <author>Nicko Cadell</author>
  19088. </member>
  19089. <member name="M:log4net.Layout.Pattern.MessagePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19090. <summary>
  19091. Writes the event message to the output
  19092. </summary>
  19093. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19094. <param name="loggingEvent">the event being logged</param>
  19095. <remarks>
  19096. <para>
  19097. Uses the <see cref="M:log4net.Core.LoggingEvent.WriteRenderedMessage(System.IO.TextWriter)"/> method
  19098. to write out the event message.
  19099. </para>
  19100. </remarks>
  19101. </member>
  19102. <member name="T:log4net.Layout.Pattern.MethodLocationPatternConverter">
  19103. <summary>
  19104. Write the method name to the output
  19105. </summary>
  19106. <remarks>
  19107. <para>
  19108. Writes the caller location <see cref="P:log4net.Core.LocationInfo.MethodName"/> to
  19109. the output.
  19110. </para>
  19111. </remarks>
  19112. <author>Nicko Cadell</author>
  19113. </member>
  19114. <member name="M:log4net.Layout.Pattern.MethodLocationPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19115. <summary>
  19116. Write the method name to the output
  19117. </summary>
  19118. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19119. <param name="loggingEvent">the event being logged</param>
  19120. <remarks>
  19121. <para>
  19122. Writes the caller location <see cref="P:log4net.Core.LocationInfo.MethodName"/> to
  19123. the output.
  19124. </para>
  19125. </remarks>
  19126. </member>
  19127. <member name="T:log4net.Layout.Pattern.NamedPatternConverter">
  19128. <summary>
  19129. Converter to output and truncate <c>'.'</c> separated strings
  19130. </summary>
  19131. <remarks>
  19132. <para>
  19133. This abstract class supports truncating a <c>'.'</c> separated string
  19134. to show a specified number of elements from the right hand side.
  19135. This is used to truncate class names that are fully qualified.
  19136. </para>
  19137. <para>
  19138. Subclasses should override the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> method to
  19139. return the fully qualified string.
  19140. </para>
  19141. </remarks>
  19142. <author>Nicko Cadell</author>
  19143. </member>
  19144. <member name="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions">
  19145. <summary>
  19146. Initialize the converter
  19147. </summary>
  19148. <remarks>
  19149. <para>
  19150. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  19151. activation scheme. The <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> method must
  19152. be called on this object after the configuration properties have
  19153. been set. Until <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> is called this
  19154. object is in an undefined state and must not be used.
  19155. </para>
  19156. <para>
  19157. If any of the configuration properties are modified then
  19158. <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.ActivateOptions"/> must be called again.
  19159. </para>
  19160. </remarks>
  19161. </member>
  19162. <member name="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
  19163. <summary>
  19164. Get the fully qualified string data
  19165. </summary>
  19166. <param name="loggingEvent">the event being logged</param>
  19167. <returns>the fully qualified name</returns>
  19168. <remarks>
  19169. <para>
  19170. Overridden by subclasses to get the fully qualified name before the
  19171. precision is applied to it.
  19172. </para>
  19173. <para>
  19174. Return the fully qualified <c>'.'</c> (dot/period) separated string.
  19175. </para>
  19176. </remarks>
  19177. </member>
  19178. <member name="M:log4net.Layout.Pattern.NamedPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19179. <summary>
  19180. Convert the pattern to the rendered message
  19181. </summary>
  19182. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19183. <param name="loggingEvent">the event being logged</param>
  19184. <remarks>
  19185. Render the <see cref="M:log4net.Layout.Pattern.NamedPatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)"/> to the precision
  19186. specified by the <see cref="P:log4net.Util.PatternConverter.Option"/> property.
  19187. </remarks>
  19188. </member>
  19189. <member name="F:log4net.Layout.Pattern.NamedPatternConverter.declaringType">
  19190. <summary>
  19191. The fully qualified type of the NamedPatternConverter class.
  19192. </summary>
  19193. <remarks>
  19194. Used by the internal logger to record the Type of the
  19195. log message.
  19196. </remarks>
  19197. </member>
  19198. <member name="T:log4net.Layout.Pattern.NdcPatternConverter">
  19199. <summary>
  19200. Converter to include event NDC
  19201. </summary>
  19202. <remarks>
  19203. <para>
  19204. Outputs the value of the event property named <c>NDC</c>.
  19205. </para>
  19206. <para>
  19207. The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
  19208. </para>
  19209. </remarks>
  19210. <author>Nicko Cadell</author>
  19211. </member>
  19212. <member name="M:log4net.Layout.Pattern.NdcPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19213. <summary>
  19214. Write the event NDC to the output
  19215. </summary>
  19216. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19217. <param name="loggingEvent">the event being logged</param>
  19218. <remarks>
  19219. <para>
  19220. As the thread context stacks are now stored in named event properties
  19221. this converter simply looks up the value of the <c>NDC</c> property.
  19222. </para>
  19223. <para>
  19224. The <see cref="T:log4net.Layout.Pattern.PropertyPatternConverter"/> should be used instead.
  19225. </para>
  19226. </remarks>
  19227. </member>
  19228. <member name="T:log4net.Layout.Pattern.PatternLayoutConverter">
  19229. <summary>
  19230. Abstract class that provides the formatting functionality that
  19231. derived classes need.
  19232. </summary>
  19233. <remarks>
  19234. Conversion specifiers in a conversion patterns are parsed to
  19235. individual PatternConverters. Each of which is responsible for
  19236. converting a logging event in a converter specific manner.
  19237. </remarks>
  19238. <author>Nicko Cadell</author>
  19239. </member>
  19240. <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.#ctor">
  19241. <summary>
  19242. Initializes a new instance of the <see cref="T:log4net.Layout.Pattern.PatternLayoutConverter" /> class.
  19243. </summary>
  19244. </member>
  19245. <member name="P:log4net.Layout.Pattern.PatternLayoutConverter.IgnoresException">
  19246. <summary>
  19247. Flag indicating if this converter handles the logging event exception
  19248. </summary>
  19249. <value><c>false</c> if this converter handles the logging event exception</value>
  19250. <remarks>
  19251. <para>
  19252. If this converter handles the exception object contained within
  19253. <see cref="T:log4net.Core.LoggingEvent"/>, then this property should be set to
  19254. <c>false</c>. Otherwise, if the layout ignores the exception
  19255. object, then the property should be set to <c>true</c>.
  19256. </para>
  19257. <para>
  19258. Set this value to override a this default setting. The default
  19259. value is <c>true</c>, this converter does not handle the exception.
  19260. </para>
  19261. </remarks>
  19262. </member>
  19263. <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19264. <summary>
  19265. Derived pattern converters must override this method in order to
  19266. convert conversion specifiers in the correct way.
  19267. </summary>
  19268. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19269. <param name="loggingEvent">The <see cref="T:log4net.Core.LoggingEvent" /> on which the pattern converter should be executed.</param>
  19270. </member>
  19271. <member name="M:log4net.Layout.Pattern.PatternLayoutConverter.Convert(System.IO.TextWriter,System.Object)">
  19272. <summary>
  19273. Derived pattern converters must override this method in order to
  19274. convert conversion specifiers in the correct way.
  19275. </summary>
  19276. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19277. <param name="state">The state object on which the pattern converter should be executed.</param>
  19278. </member>
  19279. <member name="F:log4net.Layout.Pattern.PatternLayoutConverter.m_ignoresException">
  19280. <summary>
  19281. Flag indicating if this converter handles exceptions
  19282. </summary>
  19283. <remarks>
  19284. <c>false</c> if this converter handles exceptions
  19285. </remarks>
  19286. </member>
  19287. <member name="T:log4net.Layout.Pattern.PropertyPatternConverter">
  19288. <summary>
  19289. Property pattern converter
  19290. </summary>
  19291. <remarks>
  19292. <para>
  19293. Writes out the value of a named property. The property name
  19294. should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
  19295. property.
  19296. </para>
  19297. <para>
  19298. If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
  19299. then all the properties are written as key value pairs.
  19300. </para>
  19301. </remarks>
  19302. <author>Nicko Cadell</author>
  19303. </member>
  19304. <member name="M:log4net.Layout.Pattern.PropertyPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19305. <summary>
  19306. Write the property value to the output
  19307. </summary>
  19308. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19309. <param name="loggingEvent">the event being logged</param>
  19310. <remarks>
  19311. <para>
  19312. Writes out the value of a named property. The property name
  19313. should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
  19314. property.
  19315. </para>
  19316. <para>
  19317. If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
  19318. then all the properties are written as key value pairs.
  19319. </para>
  19320. </remarks>
  19321. </member>
  19322. <member name="T:log4net.Layout.Pattern.RelativeTimePatternConverter">
  19323. <summary>
  19324. Converter to output the relative time of the event
  19325. </summary>
  19326. <remarks>
  19327. <para>
  19328. Converter to output the time of the event relative to the start of the program.
  19329. </para>
  19330. </remarks>
  19331. <author>Nicko Cadell</author>
  19332. </member>
  19333. <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19334. <summary>
  19335. Write the relative time to the output
  19336. </summary>
  19337. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19338. <param name="loggingEvent">the event being logged</param>
  19339. <remarks>
  19340. <para>
  19341. Writes out the relative time of the event in milliseconds.
  19342. That is the number of milliseconds between the event <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>
  19343. and the <see cref="P:log4net.Core.LoggingEvent.StartTime"/>.
  19344. </para>
  19345. </remarks>
  19346. </member>
  19347. <member name="M:log4net.Layout.Pattern.RelativeTimePatternConverter.TimeDifferenceInMillis(System.DateTime,System.DateTime)">
  19348. <summary>
  19349. Helper method to get the time difference between two DateTime objects
  19350. </summary>
  19351. <param name="start">start time (in the current local time zone)</param>
  19352. <param name="end">end time (in the current local time zone)</param>
  19353. <returns>the time difference in milliseconds</returns>
  19354. </member>
  19355. <member name="T:log4net.Layout.Pattern.StackTraceDetailPatternConverter">
  19356. <summary>
  19357. Write the caller stack frames to the output
  19358. </summary>
  19359. <remarks>
  19360. <para>
  19361. Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer, using format:
  19362. type3.MethodCall3(type param,...) > type2.MethodCall2(type param,...) > type1.MethodCall1(type param,...)
  19363. </para>
  19364. </remarks>
  19365. <author>Adam Davies</author>
  19366. </member>
  19367. <member name="F:log4net.Layout.Pattern.StackTraceDetailPatternConverter.declaringType">
  19368. <summary>
  19369. The fully qualified type of the StackTraceDetailPatternConverter class.
  19370. </summary>
  19371. <remarks>
  19372. Used by the internal logger to record the Type of the
  19373. log message.
  19374. </remarks>
  19375. </member>
  19376. <member name="T:log4net.Layout.Pattern.StackTracePatternConverter">
  19377. <summary>
  19378. Write the caller stack frames to the output
  19379. </summary>
  19380. <remarks>
  19381. <para>
  19382. Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer, using format:
  19383. type3.MethodCall3 > type2.MethodCall2 > type1.MethodCall1
  19384. </para>
  19385. </remarks>
  19386. <author>Michael Cromwell</author>
  19387. </member>
  19388. <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions">
  19389. <summary>
  19390. Initialize the converter
  19391. </summary>
  19392. <remarks>
  19393. <para>
  19394. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  19395. activation scheme. The <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> method must
  19396. be called on this object after the configuration properties have
  19397. been set. Until <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> is called this
  19398. object is in an undefined state and must not be used.
  19399. </para>
  19400. <para>
  19401. If any of the configuration properties are modified then
  19402. <see cref="M:log4net.Layout.Pattern.StackTracePatternConverter.ActivateOptions"/> must be called again.
  19403. </para>
  19404. </remarks>
  19405. </member>
  19406. <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19407. <summary>
  19408. Write the strack frames to the output
  19409. </summary>
  19410. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19411. <param name="loggingEvent">the event being logged</param>
  19412. <remarks>
  19413. <para>
  19414. Writes the <see cref="P:log4net.Core.LocationInfo.StackFrames"/> to the output writer.
  19415. </para>
  19416. </remarks>
  19417. </member>
  19418. <member name="M:log4net.Layout.Pattern.StackTracePatternConverter.GetMethodInformation(log4net.Core.MethodItem)">
  19419. <summary>
  19420. Returns the Name of the method
  19421. </summary>
  19422. <param name="method"></param>
  19423. <remarks>This method was created, so this class could be used as a base class for StackTraceDetailPatternConverter</remarks>
  19424. <returns>string</returns>
  19425. </member>
  19426. <member name="F:log4net.Layout.Pattern.StackTracePatternConverter.declaringType">
  19427. <summary>
  19428. The fully qualified type of the StackTracePatternConverter class.
  19429. </summary>
  19430. <remarks>
  19431. Used by the internal logger to record the Type of the
  19432. log message.
  19433. </remarks>
  19434. </member>
  19435. <member name="T:log4net.Layout.Pattern.ThreadPatternConverter">
  19436. <summary>
  19437. Converter to include event thread name
  19438. </summary>
  19439. <remarks>
  19440. <para>
  19441. Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the output.
  19442. </para>
  19443. </remarks>
  19444. <author>Nicko Cadell</author>
  19445. </member>
  19446. <member name="M:log4net.Layout.Pattern.ThreadPatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19447. <summary>
  19448. Write the ThreadName to the output
  19449. </summary>
  19450. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19451. <param name="loggingEvent">the event being logged</param>
  19452. <remarks>
  19453. <para>
  19454. Writes the <see cref="P:log4net.Core.LoggingEvent.ThreadName"/> to the <paramref name="writer" />.
  19455. </para>
  19456. </remarks>
  19457. </member>
  19458. <member name="T:log4net.Layout.Pattern.TypeNamePatternConverter">
  19459. <summary>
  19460. Pattern converter for the class name
  19461. </summary>
  19462. <remarks>
  19463. <para>
  19464. Outputs the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the event.
  19465. </para>
  19466. </remarks>
  19467. <author>Nicko Cadell</author>
  19468. </member>
  19469. <member name="M:log4net.Layout.Pattern.TypeNamePatternConverter.GetFullyQualifiedName(log4net.Core.LoggingEvent)">
  19470. <summary>
  19471. Gets the fully qualified name of the class
  19472. </summary>
  19473. <param name="loggingEvent">the event being logged</param>
  19474. <returns>The fully qualified type name for the caller location</returns>
  19475. <remarks>
  19476. <para>
  19477. Returns the <see cref="P:log4net.Core.LocationInfo.ClassName"/> of the <paramref name="loggingEvent"/>.
  19478. </para>
  19479. </remarks>
  19480. </member>
  19481. <member name="T:log4net.Layout.Pattern.UserNamePatternConverter">
  19482. <summary>
  19483. Converter to include event user name
  19484. </summary>
  19485. <author>Douglas de la Torre</author>
  19486. <author>Nicko Cadell</author>
  19487. </member>
  19488. <member name="M:log4net.Layout.Pattern.UserNamePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19489. <summary>
  19490. Convert the pattern to the rendered message
  19491. </summary>
  19492. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19493. <param name="loggingEvent">the event being logged</param>
  19494. </member>
  19495. <member name="T:log4net.Layout.Pattern.UtcDatePatternConverter">
  19496. <summary>
  19497. Write the TimeStamp to the output
  19498. </summary>
  19499. <remarks>
  19500. <para>
  19501. Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format
  19502. the date of a <see cref="T:log4net.Core.LoggingEvent"/>.
  19503. </para>
  19504. <para>
  19505. Uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/>
  19506. in Universal time.
  19507. </para>
  19508. <para>
  19509. See the <see cref="T:log4net.Layout.Pattern.DatePatternConverter"/> for details on the date pattern syntax.
  19510. </para>
  19511. </remarks>
  19512. <seealso cref="T:log4net.Layout.Pattern.DatePatternConverter"/>
  19513. <author>Nicko Cadell</author>
  19514. </member>
  19515. <member name="M:log4net.Layout.Pattern.UtcDatePatternConverter.Convert(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19516. <summary>
  19517. Write the TimeStamp to the output
  19518. </summary>
  19519. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  19520. <param name="loggingEvent">the event being logged</param>
  19521. <remarks>
  19522. <para>
  19523. Pass the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
  19524. for it to render it to the writer.
  19525. </para>
  19526. <para>
  19527. The <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> passed is in the local time zone, this is converted
  19528. to Universal time before it is rendered.
  19529. </para>
  19530. </remarks>
  19531. <seealso cref="T:log4net.Layout.Pattern.DatePatternConverter"/>
  19532. </member>
  19533. <member name="F:log4net.Layout.Pattern.UtcDatePatternConverter.declaringType">
  19534. <summary>
  19535. The fully qualified type of the UtcDatePatternConverter class.
  19536. </summary>
  19537. <remarks>
  19538. Used by the internal logger to record the Type of the
  19539. log message.
  19540. </remarks>
  19541. </member>
  19542. <member name="T:log4net.Layout.RawLayoutConverter">
  19543. <summary>
  19544. Type converter for the <see cref="T:log4net.Layout.IRawLayout"/> interface
  19545. </summary>
  19546. <remarks>
  19547. <para>
  19548. Used to convert objects to the <see cref="T:log4net.Layout.IRawLayout"/> interface.
  19549. Supports converting from the <see cref="T:log4net.Layout.ILayout"/> interface to
  19550. the <see cref="T:log4net.Layout.IRawLayout"/> interface using the <see cref="T:log4net.Layout.Layout2RawLayoutAdapter"/>.
  19551. </para>
  19552. </remarks>
  19553. <author>Nicko Cadell</author>
  19554. <author>Gert Driesen</author>
  19555. </member>
  19556. <member name="M:log4net.Layout.RawLayoutConverter.CanConvertFrom(System.Type)">
  19557. <summary>
  19558. Can the sourceType be converted to an <see cref="T:log4net.Layout.IRawLayout"/>
  19559. </summary>
  19560. <param name="sourceType">the source to be to be converted</param>
  19561. <returns><c>true</c> if the source type can be converted to <see cref="T:log4net.Layout.IRawLayout"/></returns>
  19562. <remarks>
  19563. <para>
  19564. Test if the <paramref name="sourceType"/> can be converted to a
  19565. <see cref="T:log4net.Layout.IRawLayout"/>. Only <see cref="T:log4net.Layout.ILayout"/> is supported
  19566. as the <paramref name="sourceType"/>.
  19567. </para>
  19568. </remarks>
  19569. </member>
  19570. <member name="M:log4net.Layout.RawLayoutConverter.ConvertFrom(System.Object)">
  19571. <summary>
  19572. Convert the value to a <see cref="T:log4net.Layout.IRawLayout"/> object
  19573. </summary>
  19574. <param name="source">the value to convert</param>
  19575. <returns>the <see cref="T:log4net.Layout.IRawLayout"/> object</returns>
  19576. <remarks>
  19577. <para>
  19578. Convert the <paramref name="source"/> object to a
  19579. <see cref="T:log4net.Layout.IRawLayout"/> object. If the <paramref name="source"/> object
  19580. is a <see cref="T:log4net.Layout.ILayout"/> then the <see cref="T:log4net.Layout.Layout2RawLayoutAdapter"/>
  19581. is used to adapt between the two interfaces, otherwise an
  19582. exception is thrown.
  19583. </para>
  19584. </remarks>
  19585. </member>
  19586. <member name="T:log4net.Layout.RawPropertyLayout">
  19587. <summary>
  19588. Extract the value of a property from the <see cref="T:log4net.Core.LoggingEvent"/>
  19589. </summary>
  19590. <remarks>
  19591. <para>
  19592. Extract the value of a property from the <see cref="T:log4net.Core.LoggingEvent"/>
  19593. </para>
  19594. </remarks>
  19595. <author>Nicko Cadell</author>
  19596. </member>
  19597. <member name="M:log4net.Layout.RawPropertyLayout.#ctor">
  19598. <summary>
  19599. Constructs a RawPropertyLayout
  19600. </summary>
  19601. </member>
  19602. <member name="P:log4net.Layout.RawPropertyLayout.Key">
  19603. <summary>
  19604. The name of the value to lookup in the LoggingEvent Properties collection.
  19605. </summary>
  19606. <value>
  19607. Value to lookup in the LoggingEvent Properties collection
  19608. </value>
  19609. <remarks>
  19610. <para>
  19611. String name of the property to lookup in the <see cref="T:log4net.Core.LoggingEvent"/>.
  19612. </para>
  19613. </remarks>
  19614. </member>
  19615. <member name="M:log4net.Layout.RawPropertyLayout.Format(log4net.Core.LoggingEvent)">
  19616. <summary>
  19617. Lookup the property for <see cref="P:log4net.Layout.RawPropertyLayout.Key"/>
  19618. </summary>
  19619. <param name="loggingEvent">The event to format</param>
  19620. <returns>returns property value</returns>
  19621. <remarks>
  19622. <para>
  19623. Looks up and returns the object value of the property
  19624. named <see cref="P:log4net.Layout.RawPropertyLayout.Key"/>. If there is no property defined
  19625. with than name then <c>null</c> will be returned.
  19626. </para>
  19627. </remarks>
  19628. </member>
  19629. <member name="T:log4net.Layout.RawTimeStampLayout">
  19630. <summary>
  19631. Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
  19632. </summary>
  19633. <remarks>
  19634. <para>
  19635. Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
  19636. </para>
  19637. </remarks>
  19638. <author>Nicko Cadell</author>
  19639. <author>Gert Driesen</author>
  19640. </member>
  19641. <member name="M:log4net.Layout.RawTimeStampLayout.#ctor">
  19642. <summary>
  19643. Constructs a RawTimeStampLayout
  19644. </summary>
  19645. </member>
  19646. <member name="M:log4net.Layout.RawTimeStampLayout.Format(log4net.Core.LoggingEvent)">
  19647. <summary>
  19648. Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
  19649. </summary>
  19650. <param name="loggingEvent">The event to format</param>
  19651. <returns>returns the time stamp</returns>
  19652. <remarks>
  19653. <para>
  19654. Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
  19655. </para>
  19656. <para>
  19657. The time stamp is in local time. To format the time stamp
  19658. in universal time use <see cref="T:log4net.Layout.RawUtcTimeStampLayout"/>.
  19659. </para>
  19660. </remarks>
  19661. </member>
  19662. <member name="T:log4net.Layout.RawUtcTimeStampLayout">
  19663. <summary>
  19664. Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
  19665. </summary>
  19666. <remarks>
  19667. <para>
  19668. Extract the date from the <see cref="T:log4net.Core.LoggingEvent"/>
  19669. </para>
  19670. </remarks>
  19671. <author>Nicko Cadell</author>
  19672. <author>Gert Driesen</author>
  19673. </member>
  19674. <member name="M:log4net.Layout.RawUtcTimeStampLayout.#ctor">
  19675. <summary>
  19676. Constructs a RawUtcTimeStampLayout
  19677. </summary>
  19678. </member>
  19679. <member name="M:log4net.Layout.RawUtcTimeStampLayout.Format(log4net.Core.LoggingEvent)">
  19680. <summary>
  19681. Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
  19682. </summary>
  19683. <param name="loggingEvent">The event to format</param>
  19684. <returns>returns the time stamp</returns>
  19685. <remarks>
  19686. <para>
  19687. Gets the <see cref="P:log4net.Core.LoggingEvent.TimeStamp"/> as a <see cref="T:System.DateTime"/>.
  19688. </para>
  19689. <para>
  19690. The time stamp is in universal time. To format the time stamp
  19691. in local time use <see cref="T:log4net.Layout.RawTimeStampLayout"/>.
  19692. </para>
  19693. </remarks>
  19694. </member>
  19695. <member name="T:log4net.Layout.SimpleLayout">
  19696. <summary>
  19697. A very simple layout
  19698. </summary>
  19699. <remarks>
  19700. <para>
  19701. SimpleLayout consists of the level of the log statement,
  19702. followed by " - " and then the log message itself. For example,
  19703. <code>
  19704. DEBUG - Hello world
  19705. </code>
  19706. </para>
  19707. </remarks>
  19708. <author>Nicko Cadell</author>
  19709. <author>Gert Driesen</author>
  19710. </member>
  19711. <member name="M:log4net.Layout.SimpleLayout.#ctor">
  19712. <summary>
  19713. Constructs a SimpleLayout
  19714. </summary>
  19715. </member>
  19716. <member name="M:log4net.Layout.SimpleLayout.ActivateOptions">
  19717. <summary>
  19718. Initialize layout options
  19719. </summary>
  19720. <remarks>
  19721. <para>
  19722. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  19723. activation scheme. The <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> method must
  19724. be called on this object after the configuration properties have
  19725. been set. Until <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> is called this
  19726. object is in an undefined state and must not be used.
  19727. </para>
  19728. <para>
  19729. If any of the configuration properties are modified then
  19730. <see cref="M:log4net.Layout.SimpleLayout.ActivateOptions"/> must be called again.
  19731. </para>
  19732. </remarks>
  19733. </member>
  19734. <member name="M:log4net.Layout.SimpleLayout.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  19735. <summary>
  19736. Produces a simple formatted output.
  19737. </summary>
  19738. <param name="loggingEvent">the event being logged</param>
  19739. <param name="writer">The TextWriter to write the formatted event to</param>
  19740. <remarks>
  19741. <para>
  19742. Formats the event as the level of the even,
  19743. followed by " - " and then the log message itself. The
  19744. output is terminated by a newline.
  19745. </para>
  19746. </remarks>
  19747. </member>
  19748. <member name="T:log4net.Layout.XmlLayout">
  19749. <summary>
  19750. Layout that formats the log events as XML elements.
  19751. </summary>
  19752. <remarks>
  19753. <para>
  19754. The output of the <see cref="T:log4net.Layout.XmlLayout" /> consists of a series of
  19755. log4net:event elements. It does not output a complete well-formed XML
  19756. file. The output is designed to be included as an <em>external entity</em>
  19757. in a separate file to form a correct XML file.
  19758. </para>
  19759. <para>
  19760. For example, if <c>abc</c> is the name of the file where
  19761. the <see cref="T:log4net.Layout.XmlLayout" /> output goes, then a well-formed XML file would
  19762. be:
  19763. </para>
  19764. <code lang="XML">
  19765. &lt;?xml version="1.0" ?&gt;
  19766. &lt;!DOCTYPE log4net:events SYSTEM "log4net-events.dtd" [&lt;!ENTITY data SYSTEM "abc"&gt;]&gt;
  19767. &lt;log4net:events version="1.2" xmlns:log4net="http://logging.apache.org/log4net/schemas/log4net-events-1.2&gt;
  19768. &amp;data;
  19769. &lt;/log4net:events&gt;
  19770. </code>
  19771. <para>
  19772. This approach enforces the independence of the <see cref="T:log4net.Layout.XmlLayout" />
  19773. and the appender where it is embedded.
  19774. </para>
  19775. <para>
  19776. The <c>version</c> attribute helps components to correctly
  19777. interpret output generated by <see cref="T:log4net.Layout.XmlLayout" />. The value of
  19778. this attribute should be "1.2" for release 1.2 and later.
  19779. </para>
  19780. <para>
  19781. Alternatively the <c>Header</c> and <c>Footer</c> properties can be
  19782. configured to output the correct XML header, open tag and close tag.
  19783. When setting the <c>Header</c> and <c>Footer</c> properties it is essential
  19784. that the underlying data store not be appendable otherwise the data
  19785. will become invalid XML.
  19786. </para>
  19787. </remarks>
  19788. <author>Nicko Cadell</author>
  19789. <author>Gert Driesen</author>
  19790. </member>
  19791. <member name="M:log4net.Layout.XmlLayout.#ctor">
  19792. <summary>
  19793. Constructs an XmlLayout
  19794. </summary>
  19795. </member>
  19796. <member name="M:log4net.Layout.XmlLayout.#ctor(System.Boolean)">
  19797. <summary>
  19798. Constructs an XmlLayout.
  19799. </summary>
  19800. <remarks>
  19801. <para>
  19802. The <b>LocationInfo</b> option takes a boolean value. By
  19803. default, it is set to false which means there will be no location
  19804. information output by this layout. If the the option is set to
  19805. true, then the file name and line number of the statement
  19806. at the origin of the log statement will be output.
  19807. </para>
  19808. <para>
  19809. If you are embedding this layout within an SmtpAppender
  19810. then make sure to set the <b>LocationInfo</b> option of that
  19811. appender as well.
  19812. </para>
  19813. </remarks>
  19814. </member>
  19815. <member name="P:log4net.Layout.XmlLayout.Prefix">
  19816. <summary>
  19817. The prefix to use for all element names
  19818. </summary>
  19819. <remarks>
  19820. <para>
  19821. The default prefix is <b>log4net</b>. Set this property
  19822. to change the prefix. If the prefix is set to an empty string
  19823. then no prefix will be written.
  19824. </para>
  19825. </remarks>
  19826. </member>
  19827. <member name="P:log4net.Layout.XmlLayout.Base64EncodeMessage">
  19828. <summary>
  19829. Set whether or not to base64 encode the message.
  19830. </summary>
  19831. <remarks>
  19832. <para>
  19833. By default the log message will be written as text to the xml
  19834. output. This can cause problems when the message contains binary
  19835. data. By setting this to true the contents of the message will be
  19836. base64 encoded. If this is set then invalid character replacement
  19837. (see <see cref="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement"/>) will not be performed
  19838. on the log message.
  19839. </para>
  19840. </remarks>
  19841. </member>
  19842. <member name="P:log4net.Layout.XmlLayout.Base64EncodeProperties">
  19843. <summary>
  19844. Set whether or not to base64 encode the property values.
  19845. </summary>
  19846. <remarks>
  19847. <para>
  19848. By default the properties will be written as text to the xml
  19849. output. This can cause problems when one or more properties contain
  19850. binary data. By setting this to true the values of the properties
  19851. will be base64 encoded. If this is set then invalid character replacement
  19852. (see <see cref="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement"/>) will not be performed
  19853. on the property values.
  19854. </para>
  19855. </remarks>
  19856. </member>
  19857. <member name="M:log4net.Layout.XmlLayout.ActivateOptions">
  19858. <summary>
  19859. Initialize layout options
  19860. </summary>
  19861. <remarks>
  19862. <para>
  19863. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  19864. activation scheme. The <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> method must
  19865. be called on this object after the configuration properties have
  19866. been set. Until <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> is called this
  19867. object is in an undefined state and must not be used.
  19868. </para>
  19869. <para>
  19870. If any of the configuration properties are modified then
  19871. <see cref="M:log4net.Layout.XmlLayout.ActivateOptions"/> must be called again.
  19872. </para>
  19873. <para>
  19874. Builds a cache of the element names
  19875. </para>
  19876. </remarks>
  19877. </member>
  19878. <member name="M:log4net.Layout.XmlLayout.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
  19879. <summary>
  19880. Does the actual writing of the XML.
  19881. </summary>
  19882. <param name="writer">The writer to use to output the event to.</param>
  19883. <param name="loggingEvent">The event to write.</param>
  19884. <remarks>
  19885. <para>
  19886. Override the base class <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method
  19887. to write the <see cref="T:log4net.Core.LoggingEvent"/> to the <see cref="T:System.Xml.XmlWriter"/>.
  19888. </para>
  19889. </remarks>
  19890. </member>
  19891. <member name="F:log4net.Layout.XmlLayout.m_prefix">
  19892. <summary>
  19893. The prefix to use for all generated element names
  19894. </summary>
  19895. </member>
  19896. <member name="T:log4net.Layout.XmlLayoutBase">
  19897. <summary>
  19898. Layout that formats the log events as XML elements.
  19899. </summary>
  19900. <remarks>
  19901. <para>
  19902. This is an abstract class that must be subclassed by an implementation
  19903. to conform to a specific schema.
  19904. </para>
  19905. <para>
  19906. Deriving classes must implement the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method.
  19907. </para>
  19908. </remarks>
  19909. <author>Nicko Cadell</author>
  19910. <author>Gert Driesen</author>
  19911. </member>
  19912. <member name="M:log4net.Layout.XmlLayoutBase.#ctor">
  19913. <summary>
  19914. Protected constructor to support subclasses
  19915. </summary>
  19916. <remarks>
  19917. <para>
  19918. Initializes a new instance of the <see cref="T:log4net.Layout.XmlLayoutBase" /> class
  19919. with no location info.
  19920. </para>
  19921. </remarks>
  19922. </member>
  19923. <member name="M:log4net.Layout.XmlLayoutBase.#ctor(System.Boolean)">
  19924. <summary>
  19925. Protected constructor to support subclasses
  19926. </summary>
  19927. <remarks>
  19928. <para>
  19929. The <paramref name="locationInfo" /> parameter determines whether
  19930. location information will be output by the layout. If
  19931. <paramref name="locationInfo" /> is set to <c>true</c>, then the
  19932. file name and line number of the statement at the origin of the log
  19933. statement will be output.
  19934. </para>
  19935. <para>
  19936. If you are embedding this layout within an SMTPAppender
  19937. then make sure to set the <b>LocationInfo</b> option of that
  19938. appender as well.
  19939. </para>
  19940. </remarks>
  19941. </member>
  19942. <member name="P:log4net.Layout.XmlLayoutBase.LocationInfo">
  19943. <summary>
  19944. Gets a value indicating whether to include location information in
  19945. the XML events.
  19946. </summary>
  19947. <value>
  19948. <c>true</c> if location information should be included in the XML
  19949. events; otherwise, <c>false</c>.
  19950. </value>
  19951. <remarks>
  19952. <para>
  19953. If <see cref="P:log4net.Layout.XmlLayoutBase.LocationInfo" /> is set to <c>true</c>, then the file
  19954. name and line number of the statement at the origin of the log
  19955. statement will be output.
  19956. </para>
  19957. <para>
  19958. If you are embedding this layout within an <c>SMTPAppender</c>
  19959. then make sure to set the <b>LocationInfo</b> option of that
  19960. appender as well.
  19961. </para>
  19962. </remarks>
  19963. </member>
  19964. <member name="P:log4net.Layout.XmlLayoutBase.InvalidCharReplacement">
  19965. <summary>
  19966. The string to replace characters that can not be expressed in XML with.
  19967. <remarks>
  19968. <para>
  19969. Not all characters may be expressed in XML. This property contains the
  19970. string to replace those that can not with. This defaults to a ?. Set it
  19971. to the empty string to simply remove offending characters. For more
  19972. details on the allowed character ranges see http://www.w3.org/TR/REC-xml/#charsets
  19973. Character replacement will occur in the log message, the property names
  19974. and the property values.
  19975. </para>
  19976. </remarks>
  19977. </summary>
  19978. </member>
  19979. <member name="M:log4net.Layout.XmlLayoutBase.ActivateOptions">
  19980. <summary>
  19981. Initialize layout options
  19982. </summary>
  19983. <remarks>
  19984. <para>
  19985. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  19986. activation scheme. The <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> method must
  19987. be called on this object after the configuration properties have
  19988. been set. Until <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> is called this
  19989. object is in an undefined state and must not be used.
  19990. </para>
  19991. <para>
  19992. If any of the configuration properties are modified then
  19993. <see cref="M:log4net.Layout.XmlLayoutBase.ActivateOptions"/> must be called again.
  19994. </para>
  19995. </remarks>
  19996. </member>
  19997. <member name="P:log4net.Layout.XmlLayoutBase.ContentType">
  19998. <summary>
  19999. Gets the content type output by this layout.
  20000. </summary>
  20001. <value>
  20002. As this is the XML layout, the value is always <c>"text/xml"</c>.
  20003. </value>
  20004. <remarks>
  20005. <para>
  20006. As this is the XML layout, the value is always <c>"text/xml"</c>.
  20007. </para>
  20008. </remarks>
  20009. </member>
  20010. <member name="M:log4net.Layout.XmlLayoutBase.Format(System.IO.TextWriter,log4net.Core.LoggingEvent)">
  20011. <summary>
  20012. Produces a formatted string.
  20013. </summary>
  20014. <param name="loggingEvent">The event being logged.</param>
  20015. <param name="writer">The TextWriter to write the formatted event to</param>
  20016. <remarks>
  20017. <para>
  20018. Format the <see cref="T:log4net.Core.LoggingEvent"/> and write it to the <see cref="T:System.IO.TextWriter"/>.
  20019. </para>
  20020. <para>
  20021. This method creates an <see cref="T:System.Xml.XmlTextWriter"/> that writes to the
  20022. <paramref name="writer"/>. The <see cref="T:System.Xml.XmlTextWriter"/> is passed
  20023. to the <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method. Subclasses should override the
  20024. <see cref="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)"/> method rather than this method.
  20025. </para>
  20026. </remarks>
  20027. </member>
  20028. <member name="M:log4net.Layout.XmlLayoutBase.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
  20029. <summary>
  20030. Does the actual writing of the XML.
  20031. </summary>
  20032. <param name="writer">The writer to use to output the event to.</param>
  20033. <param name="loggingEvent">The event to write.</param>
  20034. <remarks>
  20035. <para>
  20036. Subclasses should override this method to format
  20037. the <see cref="T:log4net.Core.LoggingEvent"/> as XML.
  20038. </para>
  20039. </remarks>
  20040. </member>
  20041. <member name="F:log4net.Layout.XmlLayoutBase.m_locationInfo">
  20042. <summary>
  20043. Flag to indicate if location information should be included in
  20044. the XML events.
  20045. </summary>
  20046. </member>
  20047. <member name="F:log4net.Layout.XmlLayoutBase.m_invalidCharReplacement">
  20048. <summary>
  20049. The string to replace invalid chars with
  20050. </summary>
  20051. </member>
  20052. <member name="T:log4net.Layout.XmlLayoutSchemaLog4j">
  20053. <summary>
  20054. Layout that formats the log events as XML elements compatible with the log4j schema
  20055. </summary>
  20056. <remarks>
  20057. <para>
  20058. Formats the log events according to the http://logging.apache.org/log4j schema.
  20059. </para>
  20060. </remarks>
  20061. <author>Nicko Cadell</author>
  20062. </member>
  20063. <member name="F:log4net.Layout.XmlLayoutSchemaLog4j.s_date1970">
  20064. <summary>
  20065. The 1st of January 1970 in UTC
  20066. </summary>
  20067. </member>
  20068. <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor">
  20069. <summary>
  20070. Constructs an XMLLayoutSchemaLog4j
  20071. </summary>
  20072. </member>
  20073. <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.#ctor(System.Boolean)">
  20074. <summary>
  20075. Constructs an XMLLayoutSchemaLog4j.
  20076. </summary>
  20077. <remarks>
  20078. <para>
  20079. The <b>LocationInfo</b> option takes a boolean value. By
  20080. default, it is set to false which means there will be no location
  20081. information output by this layout. If the the option is set to
  20082. true, then the file name and line number of the statement
  20083. at the origin of the log statement will be output.
  20084. </para>
  20085. <para>
  20086. If you are embedding this layout within an SMTPAppender
  20087. then make sure to set the <b>LocationInfo</b> option of that
  20088. appender as well.
  20089. </para>
  20090. </remarks>
  20091. </member>
  20092. <member name="P:log4net.Layout.XmlLayoutSchemaLog4j.Version">
  20093. <summary>
  20094. The version of the log4j schema to use.
  20095. </summary>
  20096. <remarks>
  20097. <para>
  20098. Only version 1.2 of the log4j schema is supported.
  20099. </para>
  20100. </remarks>
  20101. </member>
  20102. <member name="M:log4net.Layout.XmlLayoutSchemaLog4j.FormatXml(System.Xml.XmlWriter,log4net.Core.LoggingEvent)">
  20103. <summary>
  20104. Actually do the writing of the xml
  20105. </summary>
  20106. <param name="writer">the writer to use</param>
  20107. <param name="loggingEvent">the event to write</param>
  20108. <remarks>
  20109. <para>
  20110. Generate XML that is compatible with the log4j schema.
  20111. </para>
  20112. </remarks>
  20113. </member>
  20114. <member name="T:log4net.LogicalThreadContext">
  20115. <summary>
  20116. The log4net Logical Thread Context.
  20117. </summary>
  20118. <remarks>
  20119. <para>
  20120. The <c>LogicalThreadContext</c> provides a location for <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> specific debugging
  20121. information to be stored.
  20122. The <c>LogicalThreadContext</c> properties override any <see cref="T:log4net.ThreadContext"/> or <see cref="T:log4net.GlobalContext"/>
  20123. properties with the same name.
  20124. </para>
  20125. <para>
  20126. For .NET Standard 1.3 this class uses
  20127. System.Threading.AsyncLocal rather than <see
  20128. cref="T:System.Runtime.Remoting.Messaging.CallContext"/>.
  20129. </para>
  20130. <para>
  20131. The Logical Thread Context has a properties map and a stack.
  20132. The properties and stack can
  20133. be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
  20134. supports selecting and outputting these properties.
  20135. </para>
  20136. <para>
  20137. The Logical Thread Context provides a diagnostic context for the current call context.
  20138. This is an instrument for distinguishing interleaved log
  20139. output from different sources. Log output is typically interleaved
  20140. when a server handles multiple clients near-simultaneously.
  20141. </para>
  20142. <para>
  20143. The Logical Thread Context is managed on a per <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> basis.
  20144. </para>
  20145. <para>
  20146. The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> requires a link time
  20147. <see cref="T:System.Security.Permissions.SecurityPermission"/> for the
  20148. <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Infrastructure"/>.
  20149. If the calling code does not have this permission then this context will be disabled.
  20150. It will not store any property values set on it.
  20151. </para>
  20152. </remarks>
  20153. <example>Example of using the thread context properties to store a username.
  20154. <code lang="C#">
  20155. LogicalThreadContext.Properties["user"] = userName;
  20156. log.Info("This log message has a LogicalThreadContext Property called 'user'");
  20157. </code>
  20158. </example>
  20159. <example>Example of how to push a message into the context stack
  20160. <code lang="C#">
  20161. using(LogicalThreadContext.Stacks["LDC"].Push("my context message"))
  20162. {
  20163. log.Info("This log message has a LogicalThreadContext Stack message that includes 'my context message'");
  20164. } // at the end of the using block the message is automatically popped
  20165. </code>
  20166. </example>
  20167. <threadsafety static="true" instance="true" />
  20168. <author>Nicko Cadell</author>
  20169. </member>
  20170. <member name="M:log4net.LogicalThreadContext.#ctor">
  20171. <summary>
  20172. Private Constructor.
  20173. </summary>
  20174. <remarks>
  20175. <para>
  20176. Uses a private access modifier to prevent instantiation of this class.
  20177. </para>
  20178. </remarks>
  20179. </member>
  20180. <member name="P:log4net.LogicalThreadContext.Properties">
  20181. <summary>
  20182. The thread properties map
  20183. </summary>
  20184. <value>
  20185. The thread properties map
  20186. </value>
  20187. <remarks>
  20188. <para>
  20189. The <c>LogicalThreadContext</c> properties override any <see cref="T:log4net.ThreadContext"/>
  20190. or <see cref="T:log4net.GlobalContext"/> properties with the same name.
  20191. </para>
  20192. </remarks>
  20193. </member>
  20194. <member name="P:log4net.LogicalThreadContext.Stacks">
  20195. <summary>
  20196. The thread stacks
  20197. </summary>
  20198. <value>
  20199. stack map
  20200. </value>
  20201. <remarks>
  20202. <para>
  20203. The logical thread stacks.
  20204. </para>
  20205. </remarks>
  20206. </member>
  20207. <member name="F:log4net.LogicalThreadContext.s_properties">
  20208. <summary>
  20209. The thread context properties instance
  20210. </summary>
  20211. </member>
  20212. <member name="F:log4net.LogicalThreadContext.s_stacks">
  20213. <summary>
  20214. The thread context stacks instance
  20215. </summary>
  20216. </member>
  20217. <member name="T:log4net.LogManager">
  20218. <summary>
  20219. This class is used by client applications to request logger instances.
  20220. </summary>
  20221. <remarks>
  20222. <para>
  20223. This class has static methods that are used by a client to request
  20224. a logger instance. The <see cref="M:GetLogger(string)"/> method is
  20225. used to retrieve a logger.
  20226. </para>
  20227. <para>
  20228. See the <see cref="T:log4net.ILog"/> interface for more details.
  20229. </para>
  20230. </remarks>
  20231. <example>Simple example of logging messages
  20232. <code lang="C#">
  20233. ILog log = LogManager.GetLogger("application-log");
  20234. log.Info("Application Start");
  20235. log.Debug("This is a debug message");
  20236. if (log.IsDebugEnabled)
  20237. {
  20238. log.Debug("This is another debug message");
  20239. }
  20240. </code>
  20241. </example>
  20242. <threadsafety static="true" instance="true" />
  20243. <seealso cref="T:log4net.ILog"/>
  20244. <author>Nicko Cadell</author>
  20245. <author>Gert Driesen</author>
  20246. </member>
  20247. <member name="M:log4net.LogManager.#ctor">
  20248. <summary>
  20249. Initializes a new instance of the <see cref="T:log4net.LogManager" /> class.
  20250. </summary>
  20251. <remarks>
  20252. Uses a private access modifier to prevent instantiation of this class.
  20253. </remarks>
  20254. </member>
  20255. <member name="M:log4net.LogManager.Exists(System.String)">
  20256. <overloads>Returns the named logger if it exists.</overloads>
  20257. <summary>
  20258. Returns the named logger if it exists.
  20259. </summary>
  20260. <remarks>
  20261. <para>
  20262. If the named logger exists (in the default repository) then it
  20263. returns a reference to the logger, otherwise it returns <c>null</c>.
  20264. </para>
  20265. </remarks>
  20266. <param name="name">The fully qualified logger name to look for.</param>
  20267. <returns>The logger found, or <c>null</c> if no logger could be found.</returns>
  20268. </member>
  20269. <member name="M:log4net.LogManager.GetCurrentLoggers">
  20270. <overloads>Get the currently defined loggers.</overloads>
  20271. <summary>
  20272. Returns all the currently defined loggers in the default repository.
  20273. </summary>
  20274. <remarks>
  20275. <para>The root logger is <b>not</b> included in the returned array.</para>
  20276. </remarks>
  20277. <returns>All the defined loggers.</returns>
  20278. </member>
  20279. <member name="M:log4net.LogManager.GetLogger(System.String)">
  20280. <overloads>Get or create a logger.</overloads>
  20281. <summary>
  20282. Retrieves or creates a named logger.
  20283. </summary>
  20284. <remarks>
  20285. <para>
  20286. Retrieves a logger named as the <paramref name="name"/>
  20287. parameter. If the named logger already exists, then the
  20288. existing instance will be returned. Otherwise, a new instance is
  20289. created.
  20290. </para>
  20291. <para>By default, loggers do not have a set level but inherit
  20292. it from the hierarchy. This is one of the central features of
  20293. log4net.
  20294. </para>
  20295. </remarks>
  20296. <param name="name">The name of the logger to retrieve.</param>
  20297. <returns>The logger with the name specified.</returns>
  20298. </member>
  20299. <member name="M:log4net.LogManager.Exists(System.String,System.String)">
  20300. <summary>
  20301. Returns the named logger if it exists.
  20302. </summary>
  20303. <remarks>
  20304. <para>
  20305. If the named logger exists (in the specified repository) then it
  20306. returns a reference to the logger, otherwise it returns
  20307. <c>null</c>.
  20308. </para>
  20309. </remarks>
  20310. <param name="repository">The repository to lookup in.</param>
  20311. <param name="name">The fully qualified logger name to look for.</param>
  20312. <returns>
  20313. The logger found, or <c>null</c> if the logger doesn't exist in the specified
  20314. repository.
  20315. </returns>
  20316. </member>
  20317. <member name="M:log4net.LogManager.Exists(System.Reflection.Assembly,System.String)">
  20318. <summary>
  20319. Returns the named logger if it exists.
  20320. </summary>
  20321. <remarks>
  20322. <para>
  20323. If the named logger exists (in the repository for the specified assembly) then it
  20324. returns a reference to the logger, otherwise it returns
  20325. <c>null</c>.
  20326. </para>
  20327. </remarks>
  20328. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  20329. <param name="name">The fully qualified logger name to look for.</param>
  20330. <returns>
  20331. The logger, or <c>null</c> if the logger doesn't exist in the specified
  20332. assembly's repository.
  20333. </returns>
  20334. </member>
  20335. <member name="M:log4net.LogManager.GetCurrentLoggers(System.String)">
  20336. <summary>
  20337. Returns all the currently defined loggers in the specified repository.
  20338. </summary>
  20339. <param name="repository">The repository to lookup in.</param>
  20340. <remarks>
  20341. The root logger is <b>not</b> included in the returned array.
  20342. </remarks>
  20343. <returns>All the defined loggers.</returns>
  20344. </member>
  20345. <member name="M:log4net.LogManager.GetCurrentLoggers(System.Reflection.Assembly)">
  20346. <summary>
  20347. Returns all the currently defined loggers in the specified assembly's repository.
  20348. </summary>
  20349. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  20350. <remarks>
  20351. The root logger is <b>not</b> included in the returned array.
  20352. </remarks>
  20353. <returns>All the defined loggers.</returns>
  20354. </member>
  20355. <member name="M:log4net.LogManager.GetLogger(System.String,System.String)">
  20356. <summary>
  20357. Retrieves or creates a named logger.
  20358. </summary>
  20359. <remarks>
  20360. <para>
  20361. Retrieve a logger named as the <paramref name="name"/>
  20362. parameter. If the named logger already exists, then the
  20363. existing instance will be returned. Otherwise, a new instance is
  20364. created.
  20365. </para>
  20366. <para>
  20367. By default, loggers do not have a set level but inherit
  20368. it from the hierarchy. This is one of the central features of
  20369. log4net.
  20370. </para>
  20371. </remarks>
  20372. <param name="repository">The repository to lookup in.</param>
  20373. <param name="name">The name of the logger to retrieve.</param>
  20374. <returns>The logger with the name specified.</returns>
  20375. </member>
  20376. <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.String)">
  20377. <summary>
  20378. Retrieves or creates a named logger.
  20379. </summary>
  20380. <remarks>
  20381. <para>
  20382. Retrieve a logger named as the <paramref name="name"/>
  20383. parameter. If the named logger already exists, then the
  20384. existing instance will be returned. Otherwise, a new instance is
  20385. created.
  20386. </para>
  20387. <para>
  20388. By default, loggers do not have a set level but inherit
  20389. it from the hierarchy. This is one of the central features of
  20390. log4net.
  20391. </para>
  20392. </remarks>
  20393. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  20394. <param name="name">The name of the logger to retrieve.</param>
  20395. <returns>The logger with the name specified.</returns>
  20396. </member>
  20397. <member name="M:log4net.LogManager.GetLogger(System.Type)">
  20398. <summary>
  20399. Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
  20400. </summary>
  20401. <remarks>
  20402. Get the logger for the fully qualified name of the type specified.
  20403. </remarks>
  20404. <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
  20405. <returns>The logger with the name specified.</returns>
  20406. </member>
  20407. <member name="M:log4net.LogManager.GetLogger(System.String,System.Type)">
  20408. <summary>
  20409. Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
  20410. </summary>
  20411. <remarks>
  20412. Gets the logger for the fully qualified name of the type specified.
  20413. </remarks>
  20414. <param name="repository">The repository to lookup in.</param>
  20415. <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
  20416. <returns>The logger with the name specified.</returns>
  20417. </member>
  20418. <member name="M:log4net.LogManager.GetLogger(System.Reflection.Assembly,System.Type)">
  20419. <summary>
  20420. Shorthand for <see cref="M:LogManager.GetLogger(string)"/>.
  20421. </summary>
  20422. <remarks>
  20423. Gets the logger for the fully qualified name of the type specified.
  20424. </remarks>
  20425. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  20426. <param name="type">The full name of <paramref name="type"/> will be used as the name of the logger to retrieve.</param>
  20427. <returns>The logger with the name specified.</returns>
  20428. </member>
  20429. <member name="M:log4net.LogManager.Shutdown">
  20430. <summary>
  20431. Shuts down the log4net system.
  20432. </summary>
  20433. <remarks>
  20434. <para>
  20435. Calling this method will <b>safely</b> close and remove all
  20436. appenders in all the loggers including root contained in all the
  20437. default repositories.
  20438. </para>
  20439. <para>
  20440. Some appenders need to be closed before the application exists.
  20441. Otherwise, pending logging events might be lost.
  20442. </para>
  20443. <para>The <c>shutdown</c> method is careful to close nested
  20444. appenders before closing regular appenders. This is allows
  20445. configurations where a regular appender is attached to a logger
  20446. and again to a nested appender.
  20447. </para>
  20448. </remarks>
  20449. </member>
  20450. <member name="M:log4net.LogManager.ShutdownRepository">
  20451. <overloads>Shutdown a logger repository.</overloads>
  20452. <summary>
  20453. Shuts down the default repository.
  20454. </summary>
  20455. <remarks>
  20456. <para>
  20457. Calling this method will <b>safely</b> close and remove all
  20458. appenders in all the loggers including root contained in the
  20459. default repository.
  20460. </para>
  20461. <para>Some appenders need to be closed before the application exists.
  20462. Otherwise, pending logging events might be lost.
  20463. </para>
  20464. <para>The <c>shutdown</c> method is careful to close nested
  20465. appenders before closing regular appenders. This is allows
  20466. configurations where a regular appender is attached to a logger
  20467. and again to a nested appender.
  20468. </para>
  20469. </remarks>
  20470. </member>
  20471. <member name="M:log4net.LogManager.ShutdownRepository(System.String)">
  20472. <summary>
  20473. Shuts down the repository for the repository specified.
  20474. </summary>
  20475. <remarks>
  20476. <para>
  20477. Calling this method will <b>safely</b> close and remove all
  20478. appenders in all the loggers including root contained in the
  20479. <paramref name="repository"/> specified.
  20480. </para>
  20481. <para>
  20482. Some appenders need to be closed before the application exists.
  20483. Otherwise, pending logging events might be lost.
  20484. </para>
  20485. <para>The <c>shutdown</c> method is careful to close nested
  20486. appenders before closing regular appenders. This is allows
  20487. configurations where a regular appender is attached to a logger
  20488. and again to a nested appender.
  20489. </para>
  20490. </remarks>
  20491. <param name="repository">The repository to shutdown.</param>
  20492. </member>
  20493. <member name="M:log4net.LogManager.ShutdownRepository(System.Reflection.Assembly)">
  20494. <summary>
  20495. Shuts down the repository specified.
  20496. </summary>
  20497. <remarks>
  20498. <para>
  20499. Calling this method will <b>safely</b> close and remove all
  20500. appenders in all the loggers including root contained in the
  20501. repository. The repository is looked up using
  20502. the <paramref name="repositoryAssembly"/> specified.
  20503. </para>
  20504. <para>
  20505. Some appenders need to be closed before the application exists.
  20506. Otherwise, pending logging events might be lost.
  20507. </para>
  20508. <para>
  20509. The <c>shutdown</c> method is careful to close nested
  20510. appenders before closing regular appenders. This is allows
  20511. configurations where a regular appender is attached to a logger
  20512. and again to a nested appender.
  20513. </para>
  20514. </remarks>
  20515. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  20516. </member>
  20517. <member name="M:log4net.LogManager.ResetConfiguration">
  20518. <overloads>Reset the configuration of a repository</overloads>
  20519. <summary>
  20520. Resets all values contained in this repository instance to their defaults.
  20521. </summary>
  20522. <remarks>
  20523. <para>
  20524. Resets all values contained in the repository instance to their
  20525. defaults. This removes all appenders from all loggers, sets
  20526. the level of all non-root loggers to <c>null</c>,
  20527. sets their additivity flag to <c>true</c> and sets the level
  20528. of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
  20529. message disabling is set to its default "off" value.
  20530. </para>
  20531. </remarks>
  20532. </member>
  20533. <member name="M:log4net.LogManager.ResetConfiguration(System.String)">
  20534. <summary>
  20535. Resets all values contained in this repository instance to their defaults.
  20536. </summary>
  20537. <remarks>
  20538. <para>
  20539. Reset all values contained in the repository instance to their
  20540. defaults. This removes all appenders from all loggers, sets
  20541. the level of all non-root loggers to <c>null</c>,
  20542. sets their additivity flag to <c>true</c> and sets the level
  20543. of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
  20544. message disabling is set to its default "off" value.
  20545. </para>
  20546. </remarks>
  20547. <param name="repository">The repository to reset.</param>
  20548. </member>
  20549. <member name="M:log4net.LogManager.ResetConfiguration(System.Reflection.Assembly)">
  20550. <summary>
  20551. Resets all values contained in this repository instance to their defaults.
  20552. </summary>
  20553. <remarks>
  20554. <para>
  20555. Reset all values contained in the repository instance to their
  20556. defaults. This removes all appenders from all loggers, sets
  20557. the level of all non-root loggers to <c>null</c>,
  20558. sets their additivity flag to <c>true</c> and sets the level
  20559. of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
  20560. message disabling is set to its default "off" value.
  20561. </para>
  20562. </remarks>
  20563. <param name="repositoryAssembly">The assembly to use to lookup the repository to reset.</param>
  20564. </member>
  20565. <member name="M:log4net.LogManager.GetLoggerRepository">
  20566. <overloads>Get the logger repository.</overloads>
  20567. <summary>
  20568. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  20569. </summary>
  20570. <remarks>
  20571. <para>
  20572. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
  20573. by the callers assembly (<see cref="M:Assembly.GetCallingAssembly()"/>).
  20574. </para>
  20575. </remarks>
  20576. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
  20577. </member>
  20578. <member name="M:log4net.LogManager.GetLoggerRepository(System.String)">
  20579. <summary>
  20580. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  20581. </summary>
  20582. <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
  20583. <remarks>
  20584. <para>
  20585. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
  20586. by the <paramref name="repository"/> argument.
  20587. </para>
  20588. </remarks>
  20589. <param name="repository">The repository to lookup in.</param>
  20590. </member>
  20591. <member name="M:log4net.LogManager.GetLoggerRepository(System.Reflection.Assembly)">
  20592. <summary>
  20593. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  20594. </summary>
  20595. <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
  20596. <remarks>
  20597. <para>
  20598. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
  20599. by the <paramref name="repositoryAssembly"/> argument.
  20600. </para>
  20601. </remarks>
  20602. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  20603. </member>
  20604. <member name="M:log4net.LogManager.GetRepository">
  20605. <overloads>Get a logger repository.</overloads>
  20606. <summary>
  20607. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  20608. </summary>
  20609. <remarks>
  20610. <para>
  20611. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
  20612. by the callers assembly (<see cref="M:Assembly.GetCallingAssembly()"/>).
  20613. </para>
  20614. </remarks>
  20615. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> instance for the default repository.</returns>
  20616. </member>
  20617. <member name="M:log4net.LogManager.GetRepository(System.String)">
  20618. <summary>
  20619. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  20620. </summary>
  20621. <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
  20622. <remarks>
  20623. <para>
  20624. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
  20625. by the <paramref name="repository"/> argument.
  20626. </para>
  20627. </remarks>
  20628. <param name="repository">The repository to lookup in.</param>
  20629. </member>
  20630. <member name="M:log4net.LogManager.GetRepository(System.Reflection.Assembly)">
  20631. <summary>
  20632. Returns the default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.
  20633. </summary>
  20634. <returns>The default <see cref="T:log4net.Repository.ILoggerRepository"/> instance.</returns>
  20635. <remarks>
  20636. <para>
  20637. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified
  20638. by the <paramref name="repositoryAssembly"/> argument.
  20639. </para>
  20640. </remarks>
  20641. <param name="repositoryAssembly">The assembly to use to lookup the repository.</param>
  20642. </member>
  20643. <member name="M:log4net.LogManager.CreateDomain(System.Type)">
  20644. <overloads>Create a domain</overloads>
  20645. <summary>
  20646. Creates a repository with the specified repository type.
  20647. </summary>
  20648. <remarks>
  20649. <para>
  20650. <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
  20651. </para>
  20652. <para>
  20653. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  20654. specified such that a call to <see cref="M:GetRepository()"/> will return
  20655. the same repository instance.
  20656. </para>
  20657. </remarks>
  20658. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  20659. and has a no arg constructor. An instance of this type will be created to act
  20660. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  20661. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  20662. </member>
  20663. <member name="M:log4net.LogManager.CreateRepository(System.Type)">
  20664. <overloads>Create a logger repository.</overloads>
  20665. <summary>
  20666. Creates a repository with the specified repository type.
  20667. </summary>
  20668. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  20669. and has a no arg constructor. An instance of this type will be created to act
  20670. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  20671. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  20672. <remarks>
  20673. <para>
  20674. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  20675. specified such that a call to <see cref="M:GetRepository()"/> will return
  20676. the same repository instance.
  20677. </para>
  20678. </remarks>
  20679. </member>
  20680. <member name="M:log4net.LogManager.CreateDomain(System.String)">
  20681. <summary>
  20682. Creates a repository with the specified name.
  20683. </summary>
  20684. <remarks>
  20685. <para>
  20686. <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
  20687. </para>
  20688. <para>
  20689. Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
  20690. <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
  20691. </para>
  20692. <para>
  20693. The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
  20694. An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
  20695. </para>
  20696. </remarks>
  20697. <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
  20698. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  20699. <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
  20700. </member>
  20701. <member name="M:log4net.LogManager.CreateRepository(System.String)">
  20702. <summary>
  20703. Creates a repository with the specified name.
  20704. </summary>
  20705. <remarks>
  20706. <para>
  20707. Creates the default type of <see cref="T:log4net.Repository.ILoggerRepository"/> which is a
  20708. <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> object.
  20709. </para>
  20710. <para>
  20711. The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
  20712. An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
  20713. </para>
  20714. </remarks>
  20715. <param name="repository">The name of the repository, this must be unique amongst repositories.</param>
  20716. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  20717. <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
  20718. </member>
  20719. <member name="M:log4net.LogManager.CreateDomain(System.String,System.Type)">
  20720. <summary>
  20721. Creates a repository with the specified name and repository type.
  20722. </summary>
  20723. <remarks>
  20724. <para>
  20725. <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
  20726. </para>
  20727. <para>
  20728. The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
  20729. An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
  20730. </para>
  20731. </remarks>
  20732. <param name="repository">The name of the repository, this must be unique to the repository.</param>
  20733. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  20734. and has a no arg constructor. An instance of this type will be created to act
  20735. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  20736. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  20737. <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
  20738. </member>
  20739. <member name="M:log4net.LogManager.CreateRepository(System.String,System.Type)">
  20740. <summary>
  20741. Creates a repository with the specified name and repository type.
  20742. </summary>
  20743. <remarks>
  20744. <para>
  20745. The <paramref name="repository"/> name must be unique. Repositories cannot be redefined.
  20746. An <see cref="T:System.Exception"/> will be thrown if the repository already exists.
  20747. </para>
  20748. </remarks>
  20749. <param name="repository">The name of the repository, this must be unique to the repository.</param>
  20750. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  20751. and has a no arg constructor. An instance of this type will be created to act
  20752. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  20753. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  20754. <exception cref="T:log4net.Core.LogException">The specified repository already exists.</exception>
  20755. </member>
  20756. <member name="M:log4net.LogManager.CreateDomain(System.Reflection.Assembly,System.Type)">
  20757. <summary>
  20758. Creates a repository for the specified assembly and repository type.
  20759. </summary>
  20760. <remarks>
  20761. <para>
  20762. <b>CreateDomain is obsolete. Use CreateRepository instead of CreateDomain.</b>
  20763. </para>
  20764. <para>
  20765. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  20766. specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
  20767. same assembly specified will return the same repository instance.
  20768. </para>
  20769. </remarks>
  20770. <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
  20771. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  20772. and has a no arg constructor. An instance of this type will be created to act
  20773. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  20774. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  20775. </member>
  20776. <member name="M:log4net.LogManager.CreateRepository(System.Reflection.Assembly,System.Type)">
  20777. <summary>
  20778. Creates a repository for the specified assembly and repository type.
  20779. </summary>
  20780. <remarks>
  20781. <para>
  20782. The <see cref="T:log4net.Repository.ILoggerRepository"/> created will be associated with the repository
  20783. specified such that a call to <see cref="M:GetRepository(Assembly)"/> with the
  20784. same assembly specified will return the same repository instance.
  20785. </para>
  20786. </remarks>
  20787. <param name="repositoryAssembly">The assembly to use to get the name of the repository.</param>
  20788. <param name="repositoryType">A <see cref="T:System.Type"/> that implements <see cref="T:log4net.Repository.ILoggerRepository"/>
  20789. and has a no arg constructor. An instance of this type will be created to act
  20790. as the <see cref="T:log4net.Repository.ILoggerRepository"/> for the repository specified.</param>
  20791. <returns>The <see cref="T:log4net.Repository.ILoggerRepository"/> created for the repository.</returns>
  20792. </member>
  20793. <member name="M:log4net.LogManager.GetAllRepositories">
  20794. <summary>
  20795. Gets the list of currently defined repositories.
  20796. </summary>
  20797. <remarks>
  20798. <para>
  20799. Get an array of all the <see cref="T:log4net.Repository.ILoggerRepository"/> objects that have been created.
  20800. </para>
  20801. </remarks>
  20802. <returns>An array of all the known <see cref="T:log4net.Repository.ILoggerRepository"/> objects.</returns>
  20803. </member>
  20804. <member name="M:log4net.LogManager.Flush(System.Int32)">
  20805. <summary>
  20806. Flushes logging events buffered in all configured appenders in the default repository.
  20807. </summary>
  20808. <param name="millisecondsTimeout">The maximum time in milliseconds to wait for logging events from asycnhronous appenders to be flushed.</param>
  20809. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  20810. </member>
  20811. <member name="M:log4net.LogManager.WrapLogger(log4net.Core.ILogger)">
  20812. <summary>
  20813. Looks up the wrapper object for the logger specified.
  20814. </summary>
  20815. <param name="logger">The logger to get the wrapper for.</param>
  20816. <returns>The wrapper for the logger specified.</returns>
  20817. </member>
  20818. <member name="M:log4net.LogManager.WrapLoggers(log4net.Core.ILogger[])">
  20819. <summary>
  20820. Looks up the wrapper objects for the loggers specified.
  20821. </summary>
  20822. <param name="loggers">The loggers to get the wrappers for.</param>
  20823. <returns>The wrapper objects for the loggers specified.</returns>
  20824. </member>
  20825. <member name="M:log4net.LogManager.WrapperCreationHandler(log4net.Core.ILogger)">
  20826. <summary>
  20827. Create the <see cref="T:log4net.Core.ILoggerWrapper"/> objects used by
  20828. this manager.
  20829. </summary>
  20830. <param name="logger">The logger to wrap.</param>
  20831. <returns>The wrapper for the logger specified.</returns>
  20832. </member>
  20833. <member name="F:log4net.LogManager.s_wrapperMap">
  20834. <summary>
  20835. The wrapper map to use to hold the <see cref="T:log4net.Core.LogImpl"/> objects.
  20836. </summary>
  20837. </member>
  20838. <member name="T:log4net.MDC">
  20839. <summary>
  20840. Implementation of Mapped Diagnostic Contexts.
  20841. </summary>
  20842. <remarks>
  20843. <note>
  20844. <para>
  20845. The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
  20846. The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
  20847. </para>
  20848. </note>
  20849. <para>
  20850. The MDC class is similar to the <see cref="T:log4net.NDC"/> class except that it is
  20851. based on a map instead of a stack. It provides <i>mapped
  20852. diagnostic contexts</i>. A <i>Mapped Diagnostic Context</i>, or
  20853. MDC in short, is an instrument for distinguishing interleaved log
  20854. output from different sources. Log output is typically interleaved
  20855. when a server handles multiple clients near-simultaneously.
  20856. </para>
  20857. <para>
  20858. The MDC is managed on a per thread basis.
  20859. </para>
  20860. </remarks>
  20861. <threadsafety static="true" instance="true" />
  20862. <author>Nicko Cadell</author>
  20863. <author>Gert Driesen</author>
  20864. </member>
  20865. <member name="M:log4net.MDC.#ctor">
  20866. <summary>
  20867. Initializes a new instance of the <see cref="T:log4net.MDC" /> class.
  20868. </summary>
  20869. <remarks>
  20870. Uses a private access modifier to prevent instantiation of this class.
  20871. </remarks>
  20872. </member>
  20873. <member name="M:log4net.MDC.Get(System.String)">
  20874. <summary>
  20875. Gets the context value identified by the <paramref name="key" /> parameter.
  20876. </summary>
  20877. <param name="key">The key to lookup in the MDC.</param>
  20878. <returns>The string value held for the key, or a <c>null</c> reference if no corresponding value is found.</returns>
  20879. <remarks>
  20880. <note>
  20881. <para>
  20882. The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
  20883. The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
  20884. </para>
  20885. </note>
  20886. <para>
  20887. If the <paramref name="key" /> parameter does not look up to a
  20888. previously defined context then <c>null</c> will be returned.
  20889. </para>
  20890. </remarks>
  20891. </member>
  20892. <member name="M:log4net.MDC.Set(System.String,System.String)">
  20893. <summary>
  20894. Add an entry to the MDC
  20895. </summary>
  20896. <param name="key">The key to store the value under.</param>
  20897. <param name="value">The value to store.</param>
  20898. <remarks>
  20899. <note>
  20900. <para>
  20901. The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
  20902. The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
  20903. </para>
  20904. </note>
  20905. <para>
  20906. Puts a context value (the <paramref name="value" /> parameter) as identified
  20907. with the <paramref name="key" /> parameter into the current thread's
  20908. context map.
  20909. </para>
  20910. <para>
  20911. If a value is already defined for the <paramref name="key" />
  20912. specified then the value will be replaced. If the <paramref name="value" />
  20913. is specified as <c>null</c> then the key value mapping will be removed.
  20914. </para>
  20915. </remarks>
  20916. </member>
  20917. <member name="M:log4net.MDC.Remove(System.String)">
  20918. <summary>
  20919. Removes the key value mapping for the key specified.
  20920. </summary>
  20921. <param name="key">The key to remove.</param>
  20922. <remarks>
  20923. <note>
  20924. <para>
  20925. The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
  20926. The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
  20927. </para>
  20928. </note>
  20929. <para>
  20930. Remove the specified entry from this thread's MDC
  20931. </para>
  20932. </remarks>
  20933. </member>
  20934. <member name="M:log4net.MDC.Clear">
  20935. <summary>
  20936. Clear all entries in the MDC
  20937. </summary>
  20938. <remarks>
  20939. <note>
  20940. <para>
  20941. The MDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Properties"/>.
  20942. The current MDC implementation forwards to the <c>ThreadContext.Properties</c>.
  20943. </para>
  20944. </note>
  20945. <para>
  20946. Remove all the entries from this thread's MDC
  20947. </para>
  20948. </remarks>
  20949. </member>
  20950. <member name="T:log4net.NDC">
  20951. <summary>
  20952. Implementation of Nested Diagnostic Contexts.
  20953. </summary>
  20954. <remarks>
  20955. <note>
  20956. <para>
  20957. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  20958. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  20959. </para>
  20960. </note>
  20961. <para>
  20962. A Nested Diagnostic Context, or NDC in short, is an instrument
  20963. to distinguish interleaved log output from different sources. Log
  20964. output is typically interleaved when a server handles multiple
  20965. clients near-simultaneously.
  20966. </para>
  20967. <para>
  20968. Interleaved log output can still be meaningful if each log entry
  20969. from different contexts had a distinctive stamp. This is where NDCs
  20970. come into play.
  20971. </para>
  20972. <para>
  20973. Note that NDCs are managed on a per thread basis. The NDC class
  20974. is made up of static methods that operate on the context of the
  20975. calling thread.
  20976. </para>
  20977. </remarks>
  20978. <example>How to push a message into the context
  20979. <code lang="C#">
  20980. using(NDC.Push("my context message"))
  20981. {
  20982. ... all log calls will have 'my context message' included ...
  20983. } // at the end of the using block the message is automatically removed
  20984. </code>
  20985. </example>
  20986. <threadsafety static="true" instance="true" />
  20987. <author>Nicko Cadell</author>
  20988. <author>Gert Driesen</author>
  20989. </member>
  20990. <member name="M:log4net.NDC.#ctor">
  20991. <summary>
  20992. Initializes a new instance of the <see cref="T:log4net.NDC" /> class.
  20993. </summary>
  20994. <remarks>
  20995. Uses a private access modifier to prevent instantiation of this class.
  20996. </remarks>
  20997. </member>
  20998. <member name="P:log4net.NDC.Depth">
  20999. <summary>
  21000. Gets the current context depth.
  21001. </summary>
  21002. <value>The current context depth.</value>
  21003. <remarks>
  21004. <note>
  21005. <para>
  21006. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21007. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21008. </para>
  21009. </note>
  21010. <para>
  21011. The number of context values pushed onto the context stack.
  21012. </para>
  21013. <para>
  21014. Used to record the current depth of the context. This can then
  21015. be restored using the <see cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/> method.
  21016. </para>
  21017. </remarks>
  21018. <seealso cref="M:log4net.NDC.SetMaxDepth(System.Int32)"/>
  21019. </member>
  21020. <member name="M:log4net.NDC.Clear">
  21021. <summary>
  21022. Clears all the contextual information held on the current thread.
  21023. </summary>
  21024. <remarks>
  21025. <note>
  21026. <para>
  21027. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21028. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21029. </para>
  21030. </note>
  21031. <para>
  21032. Clears the stack of NDC data held on the current thread.
  21033. </para>
  21034. </remarks>
  21035. </member>
  21036. <member name="M:log4net.NDC.CloneStack">
  21037. <summary>
  21038. Creates a clone of the stack of context information.
  21039. </summary>
  21040. <returns>A clone of the context info for this thread.</returns>
  21041. <remarks>
  21042. <note>
  21043. <para>
  21044. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21045. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21046. </para>
  21047. </note>
  21048. <para>
  21049. The results of this method can be passed to the <see cref="M:log4net.NDC.Inherit(System.Collections.Stack)"/>
  21050. method to allow child threads to inherit the context of their
  21051. parent thread.
  21052. </para>
  21053. </remarks>
  21054. </member>
  21055. <member name="M:log4net.NDC.Inherit(System.Collections.Stack)">
  21056. <summary>
  21057. Inherits the contextual information from another thread.
  21058. </summary>
  21059. <param name="stack">The context stack to inherit.</param>
  21060. <remarks>
  21061. <note>
  21062. <para>
  21063. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21064. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21065. </para>
  21066. </note>
  21067. <para>
  21068. This thread will use the context information from the stack
  21069. supplied. This can be used to initialize child threads with
  21070. the same contextual information as their parent threads. These
  21071. contexts will <b>NOT</b> be shared. Any further contexts that
  21072. are pushed onto the stack will not be visible to the other.
  21073. Call <see cref="M:log4net.NDC.CloneStack"/> to obtain a stack to pass to
  21074. this method.
  21075. </para>
  21076. </remarks>
  21077. </member>
  21078. <member name="M:log4net.NDC.Pop">
  21079. <summary>
  21080. Removes the top context from the stack.
  21081. </summary>
  21082. <returns>
  21083. The message in the context that was removed from the top
  21084. of the stack.
  21085. </returns>
  21086. <remarks>
  21087. <note>
  21088. <para>
  21089. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21090. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21091. </para>
  21092. </note>
  21093. <para>
  21094. Remove the top context from the stack, and return
  21095. it to the caller. If the stack is empty then an
  21096. empty string (not <c>null</c>) is returned.
  21097. </para>
  21098. </remarks>
  21099. </member>
  21100. <member name="M:log4net.NDC.Push(System.String)">
  21101. <summary>
  21102. Pushes a new context message.
  21103. </summary>
  21104. <param name="message">The new context message.</param>
  21105. <returns>
  21106. An <see cref="T:System.IDisposable"/> that can be used to clean up
  21107. the context stack.
  21108. </returns>
  21109. <remarks>
  21110. <note>
  21111. <para>
  21112. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21113. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21114. </para>
  21115. </note>
  21116. <para>
  21117. Pushes a new context onto the context stack. An <see cref="T:System.IDisposable"/>
  21118. is returned that can be used to clean up the context stack. This
  21119. can be easily combined with the <c>using</c> keyword to scope the
  21120. context.
  21121. </para>
  21122. </remarks>
  21123. <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
  21124. <code lang="C#">
  21125. using(log4net.NDC.Push("NDC_Message"))
  21126. {
  21127. log.Warn("This should have an NDC message");
  21128. }
  21129. </code>
  21130. </example>
  21131. </member>
  21132. <member name="M:log4net.NDC.PushFormat(System.String,System.Object[])">
  21133. <summary>
  21134. Pushes a new context message.
  21135. </summary>
  21136. <param name="messageFormat">The new context message string format.</param>
  21137. <param name="args">Arguments to be passed into messageFormat.</param>
  21138. <returns>
  21139. An <see cref="T:System.IDisposable"/> that can be used to clean up
  21140. the context stack.
  21141. </returns>
  21142. <remarks>
  21143. <note>
  21144. <para>
  21145. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21146. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21147. </para>
  21148. </note>
  21149. <para>
  21150. Pushes a new context onto the context stack. An <see cref="T:System.IDisposable"/>
  21151. is returned that can be used to clean up the context stack. This
  21152. can be easily combined with the <c>using</c> keyword to scope the
  21153. context.
  21154. </para>
  21155. </remarks>
  21156. <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
  21157. <code lang="C#">
  21158. var someValue = "ExampleContext"
  21159. using(log4net.NDC.PushFormat("NDC_Message {0}", someValue))
  21160. {
  21161. log.Warn("This should have an NDC message");
  21162. }
  21163. </code>
  21164. </example>
  21165. </member>
  21166. <member name="M:log4net.NDC.Remove">
  21167. <summary>
  21168. Removes the context information for this thread. It is
  21169. not required to call this method.
  21170. </summary>
  21171. <remarks>
  21172. <note>
  21173. <para>
  21174. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21175. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21176. </para>
  21177. </note>
  21178. <para>
  21179. This method is not implemented.
  21180. </para>
  21181. </remarks>
  21182. </member>
  21183. <member name="M:log4net.NDC.SetMaxDepth(System.Int32)">
  21184. <summary>
  21185. Forces the stack depth to be at most <paramref name="maxDepth"/>.
  21186. </summary>
  21187. <param name="maxDepth">The maximum depth of the stack</param>
  21188. <remarks>
  21189. <note>
  21190. <para>
  21191. The NDC is deprecated and has been replaced by the <see cref="P:log4net.ThreadContext.Stacks"/>.
  21192. The current NDC implementation forwards to the <c>ThreadContext.Stacks["NDC"]</c>.
  21193. </para>
  21194. </note>
  21195. <para>
  21196. Forces the stack depth to be at most <paramref name="maxDepth"/>.
  21197. This may truncate the head of the stack. This only affects the
  21198. stack in the current thread. Also it does not prevent it from
  21199. growing, it only sets the maximum depth at the time of the
  21200. call. This can be used to return to a known context depth.
  21201. </para>
  21202. </remarks>
  21203. </member>
  21204. <member name="T:log4net.ObjectRenderer.DefaultRenderer">
  21205. <summary>
  21206. The default object Renderer.
  21207. </summary>
  21208. <remarks>
  21209. <para>
  21210. The default renderer supports rendering objects and collections to strings.
  21211. </para>
  21212. <para>
  21213. See the <see cref="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)"/> method for details of the output.
  21214. </para>
  21215. </remarks>
  21216. <author>Nicko Cadell</author>
  21217. <author>Gert Driesen</author>
  21218. </member>
  21219. <member name="M:log4net.ObjectRenderer.DefaultRenderer.#ctor">
  21220. <summary>
  21221. Default constructor
  21222. </summary>
  21223. <remarks>
  21224. <para>
  21225. Default constructor
  21226. </para>
  21227. </remarks>
  21228. </member>
  21229. <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
  21230. <summary>
  21231. Render the object <paramref name="obj"/> to a string
  21232. </summary>
  21233. <param name="rendererMap">The map used to lookup renderers</param>
  21234. <param name="obj">The object to render</param>
  21235. <param name="writer">The writer to render to</param>
  21236. <remarks>
  21237. <para>
  21238. Render the object <paramref name="obj"/> to a string.
  21239. </para>
  21240. <para>
  21241. The <paramref name="rendererMap"/> parameter is
  21242. provided to lookup and render other objects. This is
  21243. very useful where <paramref name="obj"/> contains
  21244. nested objects of unknown type. The <see cref="M:RendererMap.FindAndRender(object)"/>
  21245. method can be used to render these objects.
  21246. </para>
  21247. <para>
  21248. The default renderer supports rendering objects to strings as follows:
  21249. </para>
  21250. <list type="table">
  21251. <listheader>
  21252. <term>Value</term>
  21253. <description>Rendered String</description>
  21254. </listheader>
  21255. <item>
  21256. <term><c>null</c></term>
  21257. <description>
  21258. <para>"(null)"</para>
  21259. </description>
  21260. </item>
  21261. <item>
  21262. <term><see cref="T:System.Array"/></term>
  21263. <description>
  21264. <para>
  21265. For a one dimensional array this is the
  21266. array type name, an open brace, followed by a comma
  21267. separated list of the elements (using the appropriate
  21268. renderer), followed by a close brace.
  21269. </para>
  21270. <para>
  21271. For example: <c>int[] {1, 2, 3}</c>.
  21272. </para>
  21273. <para>
  21274. If the array is not one dimensional the
  21275. <c>Array.ToString()</c> is returned.
  21276. </para>
  21277. </description>
  21278. </item>
  21279. <item>
  21280. <term><see cref="T:System.Collections.IEnumerable"/>, <see cref="T:System.Collections.ICollection"/> &amp; <see cref="T:System.Collections.IEnumerator"/></term>
  21281. <description>
  21282. <para>
  21283. Rendered as an open brace, followed by a comma
  21284. separated list of the elements (using the appropriate
  21285. renderer), followed by a close brace.
  21286. </para>
  21287. <para>
  21288. For example: <c>{a, b, c}</c>.
  21289. </para>
  21290. <para>
  21291. All collection classes that implement <see cref="T:System.Collections.ICollection"/> its subclasses,
  21292. or generic equivalents all implement the <see cref="T:System.Collections.IEnumerable"/> interface.
  21293. </para>
  21294. </description>
  21295. </item>
  21296. <item>
  21297. <term><see cref="T:System.Collections.DictionaryEntry"/></term>
  21298. <description>
  21299. <para>
  21300. Rendered as the key, an equals sign ('='), and the value (using the appropriate
  21301. renderer).
  21302. </para>
  21303. <para>
  21304. For example: <c>key=value</c>.
  21305. </para>
  21306. </description>
  21307. </item>
  21308. <item>
  21309. <term>other</term>
  21310. <description>
  21311. <para><c>Object.ToString()</c></para>
  21312. </description>
  21313. </item>
  21314. </list>
  21315. </remarks>
  21316. </member>
  21317. <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderArray(log4net.ObjectRenderer.RendererMap,System.Array,System.IO.TextWriter)">
  21318. <summary>
  21319. Render the array argument into a string
  21320. </summary>
  21321. <param name="rendererMap">The map used to lookup renderers</param>
  21322. <param name="array">the array to render</param>
  21323. <param name="writer">The writer to render to</param>
  21324. <remarks>
  21325. <para>
  21326. For a one dimensional array this is the
  21327. array type name, an open brace, followed by a comma
  21328. separated list of the elements (using the appropriate
  21329. renderer), followed by a close brace. For example:
  21330. <c>int[] {1, 2, 3}</c>.
  21331. </para>
  21332. <para>
  21333. If the array is not one dimensional the
  21334. <c>Array.ToString()</c> is returned.
  21335. </para>
  21336. </remarks>
  21337. </member>
  21338. <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderEnumerator(log4net.ObjectRenderer.RendererMap,System.Collections.IEnumerator,System.IO.TextWriter)">
  21339. <summary>
  21340. Render the enumerator argument into a string
  21341. </summary>
  21342. <param name="rendererMap">The map used to lookup renderers</param>
  21343. <param name="enumerator">the enumerator to render</param>
  21344. <param name="writer">The writer to render to</param>
  21345. <remarks>
  21346. <para>
  21347. Rendered as an open brace, followed by a comma
  21348. separated list of the elements (using the appropriate
  21349. renderer), followed by a close brace. For example:
  21350. <c>{a, b, c}</c>.
  21351. </para>
  21352. </remarks>
  21353. </member>
  21354. <member name="M:log4net.ObjectRenderer.DefaultRenderer.RenderDictionaryEntry(log4net.ObjectRenderer.RendererMap,System.Collections.DictionaryEntry,System.IO.TextWriter)">
  21355. <summary>
  21356. Render the DictionaryEntry argument into a string
  21357. </summary>
  21358. <param name="rendererMap">The map used to lookup renderers</param>
  21359. <param name="entry">the DictionaryEntry to render</param>
  21360. <param name="writer">The writer to render to</param>
  21361. <remarks>
  21362. <para>
  21363. Render the key, an equals sign ('='), and the value (using the appropriate
  21364. renderer). For example: <c>key=value</c>.
  21365. </para>
  21366. </remarks>
  21367. </member>
  21368. <member name="T:log4net.ObjectRenderer.IObjectRenderer">
  21369. <summary>
  21370. Implement this interface in order to render objects as strings
  21371. </summary>
  21372. <remarks>
  21373. <para>
  21374. Certain types require special case conversion to
  21375. string form. This conversion is done by an object renderer.
  21376. Object renderers implement the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>
  21377. interface.
  21378. </para>
  21379. </remarks>
  21380. <author>Nicko Cadell</author>
  21381. <author>Gert Driesen</author>
  21382. </member>
  21383. <member name="M:log4net.ObjectRenderer.IObjectRenderer.RenderObject(log4net.ObjectRenderer.RendererMap,System.Object,System.IO.TextWriter)">
  21384. <summary>
  21385. Render the object <paramref name="obj"/> to a string
  21386. </summary>
  21387. <param name="rendererMap">The map used to lookup renderers</param>
  21388. <param name="obj">The object to render</param>
  21389. <param name="writer">The writer to render to</param>
  21390. <remarks>
  21391. <para>
  21392. Render the object <paramref name="obj"/> to a
  21393. string.
  21394. </para>
  21395. <para>
  21396. The <paramref name="rendererMap"/> parameter is
  21397. provided to lookup and render other objects. This is
  21398. very useful where <paramref name="obj"/> contains
  21399. nested objects of unknown type. The <see cref="M:RendererMap.FindAndRender(object, TextWriter)"/>
  21400. method can be used to render these objects.
  21401. </para>
  21402. </remarks>
  21403. </member>
  21404. <member name="T:log4net.ObjectRenderer.RendererMap">
  21405. <summary>
  21406. Map class objects to an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
  21407. </summary>
  21408. <remarks>
  21409. <para>
  21410. Maintains a mapping between types that require special
  21411. rendering and the <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> that
  21412. is used to render them.
  21413. </para>
  21414. <para>
  21415. The <see cref="M:FindAndRender(object)"/> method is used to render an
  21416. <c>object</c> using the appropriate renderers defined in this map.
  21417. </para>
  21418. </remarks>
  21419. <author>Nicko Cadell</author>
  21420. <author>Gert Driesen</author>
  21421. </member>
  21422. <member name="M:log4net.ObjectRenderer.RendererMap.#ctor">
  21423. <summary>
  21424. Default Constructor
  21425. </summary>
  21426. <remarks>
  21427. <para>
  21428. Default constructor.
  21429. </para>
  21430. </remarks>
  21431. </member>
  21432. <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object)">
  21433. <summary>
  21434. Render <paramref name="obj"/> using the appropriate renderer.
  21435. </summary>
  21436. <param name="obj">the object to render to a string</param>
  21437. <returns>the object rendered as a string</returns>
  21438. <remarks>
  21439. <para>
  21440. This is a convenience method used to render an object to a string.
  21441. The alternative method <see cref="M:FindAndRender(object,TextWriter)"/>
  21442. should be used when streaming output to a <see cref="T:System.IO.TextWriter"/>.
  21443. </para>
  21444. </remarks>
  21445. </member>
  21446. <member name="M:log4net.ObjectRenderer.RendererMap.FindAndRender(System.Object,System.IO.TextWriter)">
  21447. <summary>
  21448. Render <paramref name="obj"/> using the appropriate renderer.
  21449. </summary>
  21450. <param name="obj">the object to render to a string</param>
  21451. <param name="writer">The writer to render to</param>
  21452. <remarks>
  21453. <para>
  21454. Find the appropriate renderer for the type of the
  21455. <paramref name="obj"/> parameter. This is accomplished by calling the
  21456. <see cref="M:Get(Type)"/> method. Once a renderer is found, it is
  21457. applied on the object <paramref name="obj"/> and the result is returned
  21458. as a <see cref="T:System.String"/>.
  21459. </para>
  21460. </remarks>
  21461. </member>
  21462. <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Object)">
  21463. <summary>
  21464. Gets the renderer for the specified object type
  21465. </summary>
  21466. <param name="obj">the object to lookup the renderer for</param>
  21467. <returns>the renderer for <paramref name="obj"/></returns>
  21468. <remarks>
  21469. <param>
  21470. Gets the renderer for the specified object type.
  21471. </param>
  21472. <param>
  21473. Syntactic sugar method that calls <see cref="M:Get(Type)"/>
  21474. with the type of the object parameter.
  21475. </param>
  21476. </remarks>
  21477. </member>
  21478. <member name="M:log4net.ObjectRenderer.RendererMap.Get(System.Type)">
  21479. <summary>
  21480. Gets the renderer for the specified type
  21481. </summary>
  21482. <param name="type">the type to lookup the renderer for</param>
  21483. <returns>the renderer for the specified type</returns>
  21484. <remarks>
  21485. <para>
  21486. Returns the renderer for the specified type.
  21487. If no specific renderer has been defined the
  21488. <see cref="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer"/> will be returned.
  21489. </para>
  21490. </remarks>
  21491. </member>
  21492. <member name="M:log4net.ObjectRenderer.RendererMap.SearchTypeAndInterfaces(System.Type)">
  21493. <summary>
  21494. Internal function to recursively search interfaces
  21495. </summary>
  21496. <param name="type">the type to lookup the renderer for</param>
  21497. <returns>the renderer for the specified type</returns>
  21498. </member>
  21499. <member name="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer">
  21500. <summary>
  21501. Get the default renderer instance
  21502. </summary>
  21503. <value>the default renderer</value>
  21504. <remarks>
  21505. <para>
  21506. Get the default renderer
  21507. </para>
  21508. </remarks>
  21509. </member>
  21510. <member name="M:log4net.ObjectRenderer.RendererMap.Clear">
  21511. <summary>
  21512. Clear the map of renderers
  21513. </summary>
  21514. <remarks>
  21515. <para>
  21516. Clear the custom renderers defined by using
  21517. <see cref="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)"/>. The <see cref="P:log4net.ObjectRenderer.RendererMap.DefaultRenderer"/>
  21518. cannot be removed.
  21519. </para>
  21520. </remarks>
  21521. </member>
  21522. <member name="M:log4net.ObjectRenderer.RendererMap.Put(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
  21523. <summary>
  21524. Register an <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> for <paramref name="typeToRender"/>.
  21525. </summary>
  21526. <param name="typeToRender">the type that will be rendered by <paramref name="renderer"/></param>
  21527. <param name="renderer">the renderer for <paramref name="typeToRender"/></param>
  21528. <remarks>
  21529. <para>
  21530. Register an object renderer for a specific source type.
  21531. This renderer will be returned from a call to <see cref="M:Get(Type)"/>
  21532. specifying the same <paramref name="typeToRender"/> as an argument.
  21533. </para>
  21534. </remarks>
  21535. </member>
  21536. <member name="T:log4net.Plugin.IPlugin">
  21537. <summary>
  21538. Interface implemented by logger repository plugins.
  21539. </summary>
  21540. <remarks>
  21541. <para>
  21542. Plugins define additional behavior that can be associated
  21543. with a <see cref="T:log4net.Repository.ILoggerRepository"/>.
  21544. The <see cref="T:log4net.Plugin.PluginMap"/> held by the <see cref="P:log4net.Repository.ILoggerRepository.PluginMap"/>
  21545. property is used to store the plugins for a repository.
  21546. </para>
  21547. <para>
  21548. The <c>log4net.Config.PluginAttribute</c> can be used to
  21549. attach plugins to repositories created using configuration
  21550. attributes.
  21551. </para>
  21552. </remarks>
  21553. <author>Nicko Cadell</author>
  21554. <author>Gert Driesen</author>
  21555. </member>
  21556. <member name="P:log4net.Plugin.IPlugin.Name">
  21557. <summary>
  21558. Gets the name of the plugin.
  21559. </summary>
  21560. <value>
  21561. The name of the plugin.
  21562. </value>
  21563. <remarks>
  21564. <para>
  21565. Plugins are stored in the <see cref="T:log4net.Plugin.PluginMap"/>
  21566. keyed by name. Each plugin instance attached to a
  21567. repository must be a unique name.
  21568. </para>
  21569. </remarks>
  21570. </member>
  21571. <member name="M:log4net.Plugin.IPlugin.Attach(log4net.Repository.ILoggerRepository)">
  21572. <summary>
  21573. Attaches the plugin to the specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
  21574. </summary>
  21575. <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
  21576. <remarks>
  21577. <para>
  21578. A plugin may only be attached to a single repository.
  21579. </para>
  21580. <para>
  21581. This method is called when the plugin is attached to the repository.
  21582. </para>
  21583. </remarks>
  21584. </member>
  21585. <member name="M:log4net.Plugin.IPlugin.Shutdown">
  21586. <summary>
  21587. Is called when the plugin is to shutdown.
  21588. </summary>
  21589. <remarks>
  21590. <para>
  21591. This method is called to notify the plugin that
  21592. it should stop operating and should detach from
  21593. the repository.
  21594. </para>
  21595. </remarks>
  21596. </member>
  21597. <member name="T:log4net.Plugin.IPluginFactory">
  21598. <summary>
  21599. Interface used to create plugins.
  21600. </summary>
  21601. <remarks>
  21602. <para>
  21603. Interface used to create a plugin.
  21604. </para>
  21605. </remarks>
  21606. <author>Nicko Cadell</author>
  21607. <author>Gert Driesen</author>
  21608. </member>
  21609. <member name="M:log4net.Plugin.IPluginFactory.CreatePlugin">
  21610. <summary>
  21611. Creates the plugin object.
  21612. </summary>
  21613. <returns>the new plugin instance</returns>
  21614. <remarks>
  21615. <para>
  21616. Create and return a new plugin instance.
  21617. </para>
  21618. </remarks>
  21619. </member>
  21620. <member name="T:log4net.Plugin.PluginCollection">
  21621. <summary>
  21622. A strongly-typed collection of <see cref="T:log4net.Plugin.IPlugin"/> objects.
  21623. </summary>
  21624. <author>Nicko Cadell</author>
  21625. </member>
  21626. <member name="T:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator">
  21627. <summary>
  21628. Supports type-safe iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
  21629. </summary>
  21630. <exclude/>
  21631. </member>
  21632. <member name="P:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Current">
  21633. <summary>
  21634. Gets the current element in the collection.
  21635. </summary>
  21636. </member>
  21637. <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.MoveNext">
  21638. <summary>
  21639. Advances the enumerator to the next element in the collection.
  21640. </summary>
  21641. <returns>
  21642. <c>true</c> if the enumerator was successfully advanced to the next element;
  21643. <c>false</c> if the enumerator has passed the end of the collection.
  21644. </returns>
  21645. <exception cref="T:System.InvalidOperationException">
  21646. The collection was modified after the enumerator was created.
  21647. </exception>
  21648. </member>
  21649. <member name="M:log4net.Plugin.PluginCollection.IPluginCollectionEnumerator.Reset">
  21650. <summary>
  21651. Sets the enumerator to its initial position, before the first element in the collection.
  21652. </summary>
  21653. </member>
  21654. <member name="M:log4net.Plugin.PluginCollection.ReadOnly(log4net.Plugin.PluginCollection)">
  21655. <summary>
  21656. Creates a read-only wrapper for a <c>PluginCollection</c> instance.
  21657. </summary>
  21658. <param name="list">list to create a readonly wrapper arround</param>
  21659. <returns>
  21660. A <c>PluginCollection</c> wrapper that is read-only.
  21661. </returns>
  21662. </member>
  21663. <member name="M:log4net.Plugin.PluginCollection.#ctor">
  21664. <summary>
  21665. Initializes a new instance of the <c>PluginCollection</c> class
  21666. that is empty and has the default initial capacity.
  21667. </summary>
  21668. </member>
  21669. <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Int32)">
  21670. <summary>
  21671. Initializes a new instance of the <c>PluginCollection</c> class
  21672. that has the specified initial capacity.
  21673. </summary>
  21674. <param name="capacity">
  21675. The number of elements that the new <c>PluginCollection</c> is initially capable of storing.
  21676. </param>
  21677. </member>
  21678. <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection)">
  21679. <summary>
  21680. Initializes a new instance of the <c>PluginCollection</c> class
  21681. that contains elements copied from the specified <c>PluginCollection</c>.
  21682. </summary>
  21683. <param name="c">The <c>PluginCollection</c> whose elements are copied to the new collection.</param>
  21684. </member>
  21685. <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.IPlugin[])">
  21686. <summary>
  21687. Initializes a new instance of the <c>PluginCollection</c> class
  21688. that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> array.
  21689. </summary>
  21690. <param name="a">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements are copied to the new list.</param>
  21691. </member>
  21692. <member name="M:log4net.Plugin.PluginCollection.#ctor(System.Collections.ICollection)">
  21693. <summary>
  21694. Initializes a new instance of the <c>PluginCollection</c> class
  21695. that contains elements copied from the specified <see cref="T:log4net.Plugin.IPlugin"/> collection.
  21696. </summary>
  21697. <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements are copied to the new list.</param>
  21698. </member>
  21699. <member name="T:log4net.Plugin.PluginCollection.Tag">
  21700. <summary>
  21701. Type visible only to our subclasses
  21702. Used to access protected constructor
  21703. </summary>
  21704. <exclude/>
  21705. </member>
  21706. <member name="F:log4net.Plugin.PluginCollection.Tag.Default">
  21707. <summary>
  21708. A value
  21709. </summary>
  21710. </member>
  21711. <member name="M:log4net.Plugin.PluginCollection.#ctor(log4net.Plugin.PluginCollection.Tag)">
  21712. <summary>
  21713. Allow subclasses to avoid our default constructors
  21714. </summary>
  21715. <param name="tag"></param>
  21716. <exclude/>
  21717. </member>
  21718. <member name="P:log4net.Plugin.PluginCollection.Count">
  21719. <summary>
  21720. Gets the number of elements actually contained in the <c>PluginCollection</c>.
  21721. </summary>
  21722. </member>
  21723. <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[])">
  21724. <summary>
  21725. Copies the entire <c>PluginCollection</c> to a one-dimensional
  21726. <see cref="T:log4net.Plugin.IPlugin"/> array.
  21727. </summary>
  21728. <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
  21729. </member>
  21730. <member name="M:log4net.Plugin.PluginCollection.CopyTo(log4net.Plugin.IPlugin[],System.Int32)">
  21731. <summary>
  21732. Copies the entire <c>PluginCollection</c> to a one-dimensional
  21733. <see cref="T:log4net.Plugin.IPlugin"/> array, starting at the specified index of the target array.
  21734. </summary>
  21735. <param name="array">The one-dimensional <see cref="T:log4net.Plugin.IPlugin"/> array to copy to.</param>
  21736. <param name="start">The zero-based index in <paramref name="array"/> at which copying begins.</param>
  21737. </member>
  21738. <member name="P:log4net.Plugin.PluginCollection.IsSynchronized">
  21739. <summary>
  21740. Gets a value indicating whether access to the collection is synchronized (thread-safe).
  21741. </summary>
  21742. <returns>false, because the backing type is an array, which is never thread-safe.</returns>
  21743. </member>
  21744. <member name="P:log4net.Plugin.PluginCollection.SyncRoot">
  21745. <summary>
  21746. Gets an object that can be used to synchronize access to the collection.
  21747. </summary>
  21748. <value>
  21749. An object that can be used to synchronize access to the collection.
  21750. </value>
  21751. </member>
  21752. <member name="P:log4net.Plugin.PluginCollection.Item(System.Int32)">
  21753. <summary>
  21754. Gets or sets the <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
  21755. </summary>
  21756. <value>
  21757. The <see cref="T:log4net.Plugin.IPlugin"/> at the specified index.
  21758. </value>
  21759. <param name="index">The zero-based index of the element to get or set.</param>
  21760. <exception cref="T:System.ArgumentOutOfRangeException">
  21761. <para><paramref name="index"/> is less than zero.</para>
  21762. <para>-or-</para>
  21763. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
  21764. </exception>
  21765. </member>
  21766. <member name="M:log4net.Plugin.PluginCollection.Add(log4net.Plugin.IPlugin)">
  21767. <summary>
  21768. Adds a <see cref="T:log4net.Plugin.IPlugin"/> to the end of the <c>PluginCollection</c>.
  21769. </summary>
  21770. <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to be added to the end of the <c>PluginCollection</c>.</param>
  21771. <returns>The index at which the value has been added.</returns>
  21772. </member>
  21773. <member name="M:log4net.Plugin.PluginCollection.Clear">
  21774. <summary>
  21775. Removes all elements from the <c>PluginCollection</c>.
  21776. </summary>
  21777. </member>
  21778. <member name="M:log4net.Plugin.PluginCollection.Clone">
  21779. <summary>
  21780. Creates a shallow copy of the <see cref="T:log4net.Plugin.PluginCollection"/>.
  21781. </summary>
  21782. <returns>A new <see cref="T:log4net.Plugin.PluginCollection"/> with a shallow copy of the collection data.</returns>
  21783. </member>
  21784. <member name="M:log4net.Plugin.PluginCollection.Contains(log4net.Plugin.IPlugin)">
  21785. <summary>
  21786. Determines whether a given <see cref="T:log4net.Plugin.IPlugin"/> is in the <c>PluginCollection</c>.
  21787. </summary>
  21788. <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to check for.</param>
  21789. <returns><c>true</c> if <paramref name="item"/> is found in the <c>PluginCollection</c>; otherwise, <c>false</c>.</returns>
  21790. </member>
  21791. <member name="M:log4net.Plugin.PluginCollection.IndexOf(log4net.Plugin.IPlugin)">
  21792. <summary>
  21793. Returns the zero-based index of the first occurrence of a <see cref="T:log4net.Plugin.IPlugin"/>
  21794. in the <c>PluginCollection</c>.
  21795. </summary>
  21796. <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to locate in the <c>PluginCollection</c>.</param>
  21797. <returns>
  21798. The zero-based index of the first occurrence of <paramref name="item"/>
  21799. in the entire <c>PluginCollection</c>, if found; otherwise, -1.
  21800. </returns>
  21801. </member>
  21802. <member name="M:log4net.Plugin.PluginCollection.Insert(System.Int32,log4net.Plugin.IPlugin)">
  21803. <summary>
  21804. Inserts an element into the <c>PluginCollection</c> at the specified index.
  21805. </summary>
  21806. <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
  21807. <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to insert.</param>
  21808. <exception cref="T:System.ArgumentOutOfRangeException">
  21809. <para><paramref name="index"/> is less than zero</para>
  21810. <para>-or-</para>
  21811. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
  21812. </exception>
  21813. </member>
  21814. <member name="M:log4net.Plugin.PluginCollection.Remove(log4net.Plugin.IPlugin)">
  21815. <summary>
  21816. Removes the first occurrence of a specific <see cref="T:log4net.Plugin.IPlugin"/> from the <c>PluginCollection</c>.
  21817. </summary>
  21818. <param name="item">The <see cref="T:log4net.Plugin.IPlugin"/> to remove from the <c>PluginCollection</c>.</param>
  21819. <exception cref="T:System.ArgumentException">
  21820. The specified <see cref="T:log4net.Plugin.IPlugin"/> was not found in the <c>PluginCollection</c>.
  21821. </exception>
  21822. </member>
  21823. <member name="M:log4net.Plugin.PluginCollection.RemoveAt(System.Int32)">
  21824. <summary>
  21825. Removes the element at the specified index of the <c>PluginCollection</c>.
  21826. </summary>
  21827. <param name="index">The zero-based index of the element to remove.</param>
  21828. <exception cref="T:System.ArgumentOutOfRangeException">
  21829. <para><paramref name="index"/> is less than zero.</para>
  21830. <para>-or-</para>
  21831. <para><paramref name="index"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
  21832. </exception>
  21833. </member>
  21834. <member name="P:log4net.Plugin.PluginCollection.IsFixedSize">
  21835. <summary>
  21836. Gets a value indicating whether the collection has a fixed size.
  21837. </summary>
  21838. <value><c>true</c> if the collection has a fixed size; otherwise, <c>false</c>. The default is <c>false</c>.</value>
  21839. </member>
  21840. <member name="P:log4net.Plugin.PluginCollection.IsReadOnly">
  21841. <summary>
  21842. Gets a value indicating whether the IList is read-only.
  21843. </summary>
  21844. <value><c>true</c> if the collection is read-only; otherwise, <c>false</c>. The default is <c>false</c>.</value>
  21845. </member>
  21846. <member name="M:log4net.Plugin.PluginCollection.GetEnumerator">
  21847. <summary>
  21848. Returns an enumerator that can iterate through the <c>PluginCollection</c>.
  21849. </summary>
  21850. <returns>An <see cref="T:log4net.Plugin.PluginCollection.Enumerator"/> for the entire <c>PluginCollection</c>.</returns>
  21851. </member>
  21852. <member name="P:log4net.Plugin.PluginCollection.Capacity">
  21853. <summary>
  21854. Gets or sets the number of elements the <c>PluginCollection</c> can contain.
  21855. </summary>
  21856. <value>
  21857. The number of elements the <c>PluginCollection</c> can contain.
  21858. </value>
  21859. </member>
  21860. <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.PluginCollection)">
  21861. <summary>
  21862. Adds the elements of another <c>PluginCollection</c> to the current <c>PluginCollection</c>.
  21863. </summary>
  21864. <param name="x">The <c>PluginCollection</c> whose elements should be added to the end of the current <c>PluginCollection</c>.</param>
  21865. <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
  21866. </member>
  21867. <member name="M:log4net.Plugin.PluginCollection.AddRange(log4net.Plugin.IPlugin[])">
  21868. <summary>
  21869. Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> array to the current <c>PluginCollection</c>.
  21870. </summary>
  21871. <param name="x">The <see cref="T:log4net.Plugin.IPlugin"/> array whose elements should be added to the end of the <c>PluginCollection</c>.</param>
  21872. <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
  21873. </member>
  21874. <member name="M:log4net.Plugin.PluginCollection.AddRange(System.Collections.ICollection)">
  21875. <summary>
  21876. Adds the elements of a <see cref="T:log4net.Plugin.IPlugin"/> collection to the current <c>PluginCollection</c>.
  21877. </summary>
  21878. <param name="col">The <see cref="T:log4net.Plugin.IPlugin"/> collection whose elements should be added to the end of the <c>PluginCollection</c>.</param>
  21879. <returns>The new <see cref="P:log4net.Plugin.PluginCollection.Count"/> of the <c>PluginCollection</c>.</returns>
  21880. </member>
  21881. <member name="M:log4net.Plugin.PluginCollection.TrimToSize">
  21882. <summary>
  21883. Sets the capacity to the actual number of elements.
  21884. </summary>
  21885. </member>
  21886. <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32)">
  21887. <exception cref="T:System.ArgumentOutOfRangeException">
  21888. <para><paramref name="i"/> is less than zero.</para>
  21889. <para>-or-</para>
  21890. <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
  21891. </exception>
  21892. </member>
  21893. <member name="M:log4net.Plugin.PluginCollection.ValidateIndex(System.Int32,System.Boolean)">
  21894. <exception cref="T:System.ArgumentOutOfRangeException">
  21895. <para><paramref name="i"/> is less than zero.</para>
  21896. <para>-or-</para>
  21897. <para><paramref name="i"/> is equal to or greater than <see cref="P:log4net.Plugin.PluginCollection.Count"/>.</para>
  21898. </exception>
  21899. </member>
  21900. <member name="T:log4net.Plugin.PluginCollection.Enumerator">
  21901. <summary>
  21902. Supports simple iteration over a <see cref="T:log4net.Plugin.PluginCollection"/>.
  21903. </summary>
  21904. <exclude/>
  21905. </member>
  21906. <member name="M:log4net.Plugin.PluginCollection.Enumerator.#ctor(log4net.Plugin.PluginCollection)">
  21907. <summary>
  21908. Initializes a new instance of the <c>Enumerator</c> class.
  21909. </summary>
  21910. <param name="tc"></param>
  21911. </member>
  21912. <member name="P:log4net.Plugin.PluginCollection.Enumerator.Current">
  21913. <summary>
  21914. Gets the current element in the collection.
  21915. </summary>
  21916. <value>
  21917. The current element in the collection.
  21918. </value>
  21919. </member>
  21920. <member name="M:log4net.Plugin.PluginCollection.Enumerator.MoveNext">
  21921. <summary>
  21922. Advances the enumerator to the next element in the collection.
  21923. </summary>
  21924. <returns>
  21925. <c>true</c> if the enumerator was successfully advanced to the next element;
  21926. <c>false</c> if the enumerator has passed the end of the collection.
  21927. </returns>
  21928. <exception cref="T:System.InvalidOperationException">
  21929. The collection was modified after the enumerator was created.
  21930. </exception>
  21931. </member>
  21932. <member name="M:log4net.Plugin.PluginCollection.Enumerator.Reset">
  21933. <summary>
  21934. Sets the enumerator to its initial position, before the first element in the collection.
  21935. </summary>
  21936. </member>
  21937. <member name="T:log4net.Plugin.PluginCollection.ReadOnlyPluginCollection">
  21938. <exclude/>
  21939. </member>
  21940. <member name="T:log4net.Plugin.PluginMap">
  21941. <summary>
  21942. Map of repository plugins.
  21943. </summary>
  21944. <remarks>
  21945. <para>
  21946. This class is a name keyed map of the plugins that are
  21947. attached to a repository.
  21948. </para>
  21949. </remarks>
  21950. <author>Nicko Cadell</author>
  21951. <author>Gert Driesen</author>
  21952. </member>
  21953. <member name="M:log4net.Plugin.PluginMap.#ctor(log4net.Repository.ILoggerRepository)">
  21954. <summary>
  21955. Constructor
  21956. </summary>
  21957. <param name="repository">The repository that the plugins should be attached to.</param>
  21958. <remarks>
  21959. <para>
  21960. Initialize a new instance of the <see cref="T:log4net.Plugin.PluginMap" /> class with a
  21961. repository that the plugins should be attached to.
  21962. </para>
  21963. </remarks>
  21964. </member>
  21965. <member name="P:log4net.Plugin.PluginMap.Item(System.String)">
  21966. <summary>
  21967. Gets a <see cref="T:log4net.Plugin.IPlugin" /> by name.
  21968. </summary>
  21969. <param name="name">The name of the <see cref="T:log4net.Plugin.IPlugin" /> to lookup.</param>
  21970. <returns>
  21971. The <see cref="T:log4net.Plugin.IPlugin" /> from the map with the name specified, or
  21972. <c>null</c> if no plugin is found.
  21973. </returns>
  21974. <remarks>
  21975. <para>
  21976. Lookup a plugin by name. If the plugin is not found <c>null</c>
  21977. will be returned.
  21978. </para>
  21979. </remarks>
  21980. </member>
  21981. <member name="P:log4net.Plugin.PluginMap.AllPlugins">
  21982. <summary>
  21983. Gets all possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin" /> objects.
  21984. </summary>
  21985. <value>All possible plugins as a list of <see cref="T:log4net.Plugin.IPlugin" /> objects.</value>
  21986. <remarks>
  21987. <para>
  21988. Get a collection of all the plugins defined in this map.
  21989. </para>
  21990. </remarks>
  21991. </member>
  21992. <member name="M:log4net.Plugin.PluginMap.Add(log4net.Plugin.IPlugin)">
  21993. <summary>
  21994. Adds a <see cref="T:log4net.Plugin.IPlugin" /> to the map.
  21995. </summary>
  21996. <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin" /> to add to the map.</param>
  21997. <remarks>
  21998. <para>
  21999. The <see cref="T:log4net.Plugin.IPlugin" /> will be attached to the repository when added.
  22000. </para>
  22001. <para>
  22002. If there already exists a plugin with the same name
  22003. attached to the repository then the old plugin will
  22004. be <see cref="M:log4net.Plugin.IPlugin.Shutdown"/> and replaced with
  22005. the new plugin.
  22006. </para>
  22007. </remarks>
  22008. </member>
  22009. <member name="M:log4net.Plugin.PluginMap.Remove(log4net.Plugin.IPlugin)">
  22010. <summary>
  22011. Removes a <see cref="T:log4net.Plugin.IPlugin" /> from the map.
  22012. </summary>
  22013. <param name="plugin">The <see cref="T:log4net.Plugin.IPlugin" /> to remove from the map.</param>
  22014. <remarks>
  22015. <para>
  22016. Remove a specific plugin from this map.
  22017. </para>
  22018. </remarks>
  22019. </member>
  22020. <member name="T:log4net.Plugin.PluginSkeleton">
  22021. <summary>
  22022. Base implementation of <see cref="T:log4net.Plugin.IPlugin"/>
  22023. </summary>
  22024. <remarks>
  22025. <para>
  22026. Default abstract implementation of the <see cref="T:log4net.Plugin.IPlugin"/>
  22027. interface. This base class can be used by implementors
  22028. of the <see cref="T:log4net.Plugin.IPlugin"/> interface.
  22029. </para>
  22030. </remarks>
  22031. <author>Nicko Cadell</author>
  22032. <author>Gert Driesen</author>
  22033. </member>
  22034. <member name="M:log4net.Plugin.PluginSkeleton.#ctor(System.String)">
  22035. <summary>
  22036. Constructor
  22037. </summary>
  22038. <param name="name">the name of the plugin</param>
  22039. <remarks>
  22040. Initializes a new Plugin with the specified name.
  22041. </remarks>
  22042. </member>
  22043. <member name="P:log4net.Plugin.PluginSkeleton.Name">
  22044. <summary>
  22045. Gets or sets the name of the plugin.
  22046. </summary>
  22047. <value>
  22048. The name of the plugin.
  22049. </value>
  22050. <remarks>
  22051. <para>
  22052. Plugins are stored in the <see cref="T:log4net.Plugin.PluginMap"/>
  22053. keyed by name. Each plugin instance attached to a
  22054. repository must be a unique name.
  22055. </para>
  22056. <para>
  22057. The name of the plugin must not change one the
  22058. plugin has been attached to a repository.
  22059. </para>
  22060. </remarks>
  22061. </member>
  22062. <member name="M:log4net.Plugin.PluginSkeleton.Attach(log4net.Repository.ILoggerRepository)">
  22063. <summary>
  22064. Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
  22065. </summary>
  22066. <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
  22067. <remarks>
  22068. <para>
  22069. A plugin may only be attached to a single repository.
  22070. </para>
  22071. <para>
  22072. This method is called when the plugin is attached to the repository.
  22073. </para>
  22074. </remarks>
  22075. </member>
  22076. <member name="M:log4net.Plugin.PluginSkeleton.Shutdown">
  22077. <summary>
  22078. Is called when the plugin is to shutdown.
  22079. </summary>
  22080. <remarks>
  22081. <para>
  22082. This method is called to notify the plugin that
  22083. it should stop operating and should detach from
  22084. the repository.
  22085. </para>
  22086. </remarks>
  22087. </member>
  22088. <member name="P:log4net.Plugin.PluginSkeleton.LoggerRepository">
  22089. <summary>
  22090. The repository for this plugin
  22091. </summary>
  22092. <value>
  22093. The <see cref="T:log4net.Repository.ILoggerRepository" /> that this plugin is attached to.
  22094. </value>
  22095. <remarks>
  22096. <para>
  22097. Gets or sets the <see cref="T:log4net.Repository.ILoggerRepository" /> that this plugin is
  22098. attached to.
  22099. </para>
  22100. </remarks>
  22101. </member>
  22102. <member name="F:log4net.Plugin.PluginSkeleton.m_name">
  22103. <summary>
  22104. The name of this plugin.
  22105. </summary>
  22106. </member>
  22107. <member name="F:log4net.Plugin.PluginSkeleton.m_repository">
  22108. <summary>
  22109. The repository this plugin is attached to.
  22110. </summary>
  22111. </member>
  22112. <member name="T:log4net.Plugin.RemoteLoggingServerPlugin">
  22113. <summary>
  22114. Plugin that listens for events from the <see cref="T:log4net.Appender.RemotingAppender"/>
  22115. </summary>
  22116. <remarks>
  22117. <para>
  22118. This plugin publishes an instance of <see cref="T:log4net.Appender.RemotingAppender.IRemoteLoggingSink"/>
  22119. on a specified <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/>. This listens for logging events delivered from
  22120. a remote <see cref="T:log4net.Appender.RemotingAppender"/>.
  22121. </para>
  22122. <para>
  22123. When an event is received it is relogged within the attached repository
  22124. as if it had been raised locally.
  22125. </para>
  22126. </remarks>
  22127. <author>Nicko Cadell</author>
  22128. <author>Gert Driesen</author>
  22129. </member>
  22130. <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor">
  22131. <summary>
  22132. Default constructor
  22133. </summary>
  22134. <remarks>
  22135. <para>
  22136. Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin" /> class.
  22137. </para>
  22138. <para>
  22139. The <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/> property must be set.
  22140. </para>
  22141. </remarks>
  22142. </member>
  22143. <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.#ctor(System.String)">
  22144. <summary>
  22145. Construct with sink Uri.
  22146. </summary>
  22147. <param name="sinkUri">The name to publish the sink under in the remoting infrastructure.
  22148. See <see cref="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri"/> for more details.</param>
  22149. <remarks>
  22150. <para>
  22151. Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin" /> class
  22152. with specified name.
  22153. </para>
  22154. </remarks>
  22155. </member>
  22156. <member name="P:log4net.Plugin.RemoteLoggingServerPlugin.SinkUri">
  22157. <summary>
  22158. Gets or sets the URI of this sink.
  22159. </summary>
  22160. <value>
  22161. The URI of this sink.
  22162. </value>
  22163. <remarks>
  22164. <para>
  22165. This is the name under which the object is marshaled.
  22166. <see cref="M:RemotingServices.Marshal(MarshalByRefObject,String,Type)"/>
  22167. </para>
  22168. </remarks>
  22169. </member>
  22170. <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Attach(log4net.Repository.ILoggerRepository)">
  22171. <summary>
  22172. Attaches this plugin to a <see cref="T:log4net.Repository.ILoggerRepository"/>.
  22173. </summary>
  22174. <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository"/> that this plugin should be attached to.</param>
  22175. <remarks>
  22176. <para>
  22177. A plugin may only be attached to a single repository.
  22178. </para>
  22179. <para>
  22180. This method is called when the plugin is attached to the repository.
  22181. </para>
  22182. </remarks>
  22183. </member>
  22184. <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.Shutdown">
  22185. <summary>
  22186. Is called when the plugin is to shutdown.
  22187. </summary>
  22188. <remarks>
  22189. <para>
  22190. When the plugin is shutdown the remote logging
  22191. sink is disconnected.
  22192. </para>
  22193. </remarks>
  22194. </member>
  22195. <member name="F:log4net.Plugin.RemoteLoggingServerPlugin.declaringType">
  22196. <summary>
  22197. The fully qualified type of the RemoteLoggingServerPlugin class.
  22198. </summary>
  22199. <remarks>
  22200. Used by the internal logger to record the Type of the
  22201. log message.
  22202. </remarks>
  22203. </member>
  22204. <member name="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl">
  22205. <summary>
  22206. Delivers <see cref="T:log4net.Core.LoggingEvent"/> objects to a remote sink.
  22207. </summary>
  22208. <remarks>
  22209. <para>
  22210. Internal class used to listen for logging events
  22211. and deliver them to the local repository.
  22212. </para>
  22213. </remarks>
  22214. </member>
  22215. <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.#ctor(log4net.Repository.ILoggerRepository)">
  22216. <summary>
  22217. Constructor
  22218. </summary>
  22219. <param name="repository">The repository to log to.</param>
  22220. <remarks>
  22221. <para>
  22222. Initializes a new instance of the <see cref="T:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl"/> for the
  22223. specified <see cref="T:log4net.Repository.ILoggerRepository"/>.
  22224. </para>
  22225. </remarks>
  22226. </member>
  22227. <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.LogEvents(log4net.Core.LoggingEvent[])">
  22228. <summary>
  22229. Logs the events to the repository.
  22230. </summary>
  22231. <param name="events">The events to log.</param>
  22232. <remarks>
  22233. <para>
  22234. The events passed are logged to the <see cref="T:log4net.Repository.ILoggerRepository"/>
  22235. </para>
  22236. </remarks>
  22237. </member>
  22238. <member name="M:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.InitializeLifetimeService">
  22239. <summary>
  22240. Obtains a lifetime service object to control the lifetime
  22241. policy for this instance.
  22242. </summary>
  22243. <returns><c>null</c> to indicate that this instance should live forever.</returns>
  22244. <remarks>
  22245. <para>
  22246. Obtains a lifetime service object to control the lifetime
  22247. policy for this instance. This object should live forever
  22248. therefore this implementation returns <c>null</c>.
  22249. </para>
  22250. </remarks>
  22251. </member>
  22252. <member name="F:log4net.Plugin.RemoteLoggingServerPlugin.RemoteLoggingSinkImpl.m_repository">
  22253. <summary>
  22254. The underlying <see cref="T:log4net.Repository.ILoggerRepository" /> that events should
  22255. be logged to.
  22256. </summary>
  22257. </member>
  22258. <member name="T:log4net.Repository.ConfigurationChangedEventArgs">
  22259. <summary>
  22260. </summary>
  22261. </member>
  22262. <member name="M:log4net.Repository.ConfigurationChangedEventArgs.#ctor(System.Collections.ICollection)">
  22263. <summary>
  22264. </summary>
  22265. <param name="configurationMessages"></param>
  22266. </member>
  22267. <member name="P:log4net.Repository.ConfigurationChangedEventArgs.ConfigurationMessages">
  22268. <summary>
  22269. </summary>
  22270. </member>
  22271. <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory">
  22272. <summary>
  22273. Default implementation of <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
  22274. </summary>
  22275. <remarks>
  22276. <para>
  22277. This default implementation of the <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
  22278. interface is used to create the default subclass
  22279. of the <see cref="T:log4net.Repository.Hierarchy.Logger"/> object.
  22280. </para>
  22281. </remarks>
  22282. <author>Nicko Cadell</author>
  22283. <author>Gert Driesen</author>
  22284. </member>
  22285. <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.#ctor">
  22286. <summary>
  22287. Default constructor
  22288. </summary>
  22289. <remarks>
  22290. <para>
  22291. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory" /> class.
  22292. </para>
  22293. </remarks>
  22294. </member>
  22295. <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.CreateLogger(log4net.Repository.ILoggerRepository,System.String)">
  22296. <summary>
  22297. Create a new <see cref="T:log4net.Repository.Hierarchy.Logger" /> instance
  22298. </summary>
  22299. <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository" /> that will own the <see cref="T:log4net.Repository.Hierarchy.Logger" />.</param>
  22300. <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger" />.</param>
  22301. <returns>The <see cref="T:log4net.Repository.Hierarchy.Logger" /> instance for the specified name.</returns>
  22302. <remarks>
  22303. <para>
  22304. Create a new <see cref="T:log4net.Repository.Hierarchy.Logger" /> instance with the
  22305. specified name.
  22306. </para>
  22307. <para>
  22308. Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
  22309. new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
  22310. </para>
  22311. <para>
  22312. If the <paramref name="name"/> is <c>null</c> then the root logger
  22313. must be returned.
  22314. </para>
  22315. </remarks>
  22316. </member>
  22317. <member name="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl">
  22318. <summary>
  22319. Default internal subclass of <see cref="T:log4net.Repository.Hierarchy.Logger"/>
  22320. </summary>
  22321. <remarks>
  22322. <para>
  22323. This subclass has no additional behavior over the
  22324. <see cref="T:log4net.Repository.Hierarchy.Logger"/> class but does allow instances
  22325. to be created.
  22326. </para>
  22327. </remarks>
  22328. </member>
  22329. <member name="M:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl.#ctor(System.String)">
  22330. <summary>
  22331. Construct a new Logger
  22332. </summary>
  22333. <param name="name">the name of the logger</param>
  22334. <remarks>
  22335. <para>
  22336. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory.LoggerImpl" /> class
  22337. with the specified name.
  22338. </para>
  22339. </remarks>
  22340. </member>
  22341. <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventHandler">
  22342. <summary>
  22343. Delegate used to handle logger creation event notifications.
  22344. </summary>
  22345. <param name="sender">The <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> in which the <see cref="T:log4net.Repository.Hierarchy.Logger"/> has been created.</param>
  22346. <param name="e">The <see cref="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs"/> event args that hold the <see cref="T:log4net.Repository.Hierarchy.Logger"/> instance that has been created.</param>
  22347. <remarks>
  22348. <para>
  22349. Delegate used to handle logger creation event notifications.
  22350. </para>
  22351. </remarks>
  22352. </member>
  22353. <member name="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs">
  22354. <summary>
  22355. Provides data for the <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event.
  22356. </summary>
  22357. <remarks>
  22358. <para>
  22359. A <see cref="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent"/> event is raised every time a
  22360. <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> is created.
  22361. </para>
  22362. </remarks>
  22363. </member>
  22364. <member name="F:log4net.Repository.Hierarchy.LoggerCreationEventArgs.m_log">
  22365. <summary>
  22366. The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> created
  22367. </summary>
  22368. </member>
  22369. <member name="M:log4net.Repository.Hierarchy.LoggerCreationEventArgs.#ctor(log4net.Repository.Hierarchy.Logger)">
  22370. <summary>
  22371. Constructor
  22372. </summary>
  22373. <param name="log">The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.</param>
  22374. <remarks>
  22375. <para>
  22376. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerCreationEventArgs" /> event argument
  22377. class,with the specified <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/>.
  22378. </para>
  22379. </remarks>
  22380. </member>
  22381. <member name="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger">
  22382. <summary>
  22383. Gets the <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
  22384. </summary>
  22385. <value>
  22386. The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
  22387. </value>
  22388. <remarks>
  22389. <para>
  22390. The <see cref="P:log4net.Repository.Hierarchy.LoggerCreationEventArgs.Logger"/> that has been created.
  22391. </para>
  22392. </remarks>
  22393. </member>
  22394. <member name="T:log4net.Repository.Hierarchy.Hierarchy">
  22395. <summary>
  22396. Hierarchical organization of loggers
  22397. </summary>
  22398. <remarks>
  22399. <para>
  22400. <i>The casual user should not have to deal with this class
  22401. directly.</i>
  22402. </para>
  22403. <para>
  22404. This class is specialized in retrieving loggers by name and
  22405. also maintaining the logger hierarchy. Implements the
  22406. <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
  22407. </para>
  22408. <para>
  22409. The structure of the logger hierarchy is maintained by the
  22410. <see cref="M:GetLogger(string)"/> method. The hierarchy is such that children
  22411. link to their parent but parents do not have any references to their
  22412. children. Moreover, loggers can be instantiated in any order, in
  22413. particular descendant before ancestor.
  22414. </para>
  22415. <para>
  22416. In case a descendant is created before a particular ancestor,
  22417. then it creates a provision node for the ancestor and adds itself
  22418. to the provision node. Other descendants of the same ancestor add
  22419. themselves to the previously created provision node.
  22420. </para>
  22421. </remarks>
  22422. <author>Nicko Cadell</author>
  22423. <author>Gert Driesen</author>
  22424. </member>
  22425. <member name="E:log4net.Repository.Hierarchy.Hierarchy.LoggerCreatedEvent">
  22426. <summary>
  22427. Event used to notify that a logger has been created.
  22428. </summary>
  22429. <remarks>
  22430. <para>
  22431. Event raised when a logger is created.
  22432. </para>
  22433. </remarks>
  22434. </member>
  22435. <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor">
  22436. <summary>
  22437. Default constructor
  22438. </summary>
  22439. <remarks>
  22440. <para>
  22441. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy" /> class.
  22442. </para>
  22443. </remarks>
  22444. </member>
  22445. <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Util.PropertiesDictionary)">
  22446. <summary>
  22447. Construct with properties
  22448. </summary>
  22449. <param name="properties">The properties to pass to this repository.</param>
  22450. <remarks>
  22451. <para>
  22452. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy" /> class.
  22453. </para>
  22454. </remarks>
  22455. </member>
  22456. <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Repository.Hierarchy.ILoggerFactory)">
  22457. <summary>
  22458. Construct with a logger factory
  22459. </summary>
  22460. <param name="loggerFactory">The factory to use to create new logger instances.</param>
  22461. <remarks>
  22462. <para>
  22463. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy" /> class with
  22464. the specified <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory" />.
  22465. </para>
  22466. </remarks>
  22467. </member>
  22468. <member name="M:log4net.Repository.Hierarchy.Hierarchy.#ctor(log4net.Util.PropertiesDictionary,log4net.Repository.Hierarchy.ILoggerFactory)">
  22469. <summary>
  22470. Construct with properties and a logger factory
  22471. </summary>
  22472. <param name="properties">The properties to pass to this repository.</param>
  22473. <param name="loggerFactory">The factory to use to create new logger instances.</param>
  22474. <remarks>
  22475. <para>
  22476. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.Hierarchy" /> class with
  22477. the specified <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory" />.
  22478. </para>
  22479. </remarks>
  22480. </member>
  22481. <member name="P:log4net.Repository.Hierarchy.Hierarchy.EmittedNoAppenderWarning">
  22482. <summary>
  22483. Has no appender warning been emitted
  22484. </summary>
  22485. <remarks>
  22486. <para>
  22487. Flag to indicate if we have already issued a warning
  22488. about not having an appender warning.
  22489. </para>
  22490. </remarks>
  22491. </member>
  22492. <member name="P:log4net.Repository.Hierarchy.Hierarchy.Root">
  22493. <summary>
  22494. Get the root of this hierarchy
  22495. </summary>
  22496. <remarks>
  22497. <para>
  22498. Get the root of this hierarchy.
  22499. </para>
  22500. </remarks>
  22501. </member>
  22502. <member name="P:log4net.Repository.Hierarchy.Hierarchy.LoggerFactory">
  22503. <summary>
  22504. Gets or sets the default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory" /> instance.
  22505. </summary>
  22506. <value>The default <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory" /></value>
  22507. <remarks>
  22508. <para>
  22509. The logger factory is used to create logger instances.
  22510. </para>
  22511. </remarks>
  22512. </member>
  22513. <member name="M:log4net.Repository.Hierarchy.Hierarchy.Exists(System.String)">
  22514. <summary>
  22515. Test if a logger exists
  22516. </summary>
  22517. <param name="name">The name of the logger to lookup</param>
  22518. <returns>The Logger object with the name specified</returns>
  22519. <remarks>
  22520. <para>
  22521. Check if the named logger exists in the hierarchy. If so return
  22522. its reference, otherwise returns <c>null</c>.
  22523. </para>
  22524. </remarks>
  22525. </member>
  22526. <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetCurrentLoggers">
  22527. <summary>
  22528. Returns all the currently defined loggers in the hierarchy as an Array
  22529. </summary>
  22530. <returns>All the defined loggers</returns>
  22531. <remarks>
  22532. <para>
  22533. Returns all the currently defined loggers in the hierarchy as an Array.
  22534. The root logger is <b>not</b> included in the returned
  22535. enumeration.
  22536. </para>
  22537. </remarks>
  22538. </member>
  22539. <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String)">
  22540. <summary>
  22541. Return a new logger instance named as the first parameter using
  22542. the default factory.
  22543. </summary>
  22544. <remarks>
  22545. <para>
  22546. Return a new logger instance named as the first parameter using
  22547. the default factory.
  22548. </para>
  22549. <para>
  22550. If a logger of that name already exists, then it will be
  22551. returned. Otherwise, a new logger will be instantiated and
  22552. then linked with its existing ancestors as well as children.
  22553. </para>
  22554. </remarks>
  22555. <param name="name">The name of the logger to retrieve</param>
  22556. <returns>The logger object with the name specified</returns>
  22557. </member>
  22558. <member name="M:log4net.Repository.Hierarchy.Hierarchy.Shutdown">
  22559. <summary>
  22560. Shutting down a hierarchy will <i>safely</i> close and remove
  22561. all appenders in all loggers including the root logger.
  22562. </summary>
  22563. <remarks>
  22564. <para>
  22565. Shutting down a hierarchy will <i>safely</i> close and remove
  22566. all appenders in all loggers including the root logger.
  22567. </para>
  22568. <para>
  22569. Some appenders need to be closed before the
  22570. application exists. Otherwise, pending logging events might be
  22571. lost.
  22572. </para>
  22573. <para>
  22574. The <c>Shutdown</c> method is careful to close nested
  22575. appenders before closing regular appenders. This is allows
  22576. configurations where a regular appender is attached to a logger
  22577. and again to a nested appender.
  22578. </para>
  22579. </remarks>
  22580. </member>
  22581. <member name="M:log4net.Repository.Hierarchy.Hierarchy.ResetConfiguration">
  22582. <summary>
  22583. Reset all values contained in this hierarchy instance to their default.
  22584. </summary>
  22585. <remarks>
  22586. <para>
  22587. Reset all values contained in this hierarchy instance to their
  22588. default. This removes all appenders from all loggers, sets
  22589. the level of all non-root loggers to <c>null</c>,
  22590. sets their additivity flag to <c>true</c> and sets the level
  22591. of the root logger to <see cref="F:log4net.Core.Level.Debug"/>. Moreover,
  22592. message disabling is set its default "off" value.
  22593. </para>
  22594. <para>
  22595. Existing loggers are not removed. They are just reset.
  22596. </para>
  22597. <para>
  22598. This method should be used sparingly and with care as it will
  22599. block all logging until it is completed.
  22600. </para>
  22601. </remarks>
  22602. </member>
  22603. <member name="M:log4net.Repository.Hierarchy.Hierarchy.Log(log4net.Core.LoggingEvent)">
  22604. <summary>
  22605. Log the logEvent through this hierarchy.
  22606. </summary>
  22607. <param name="logEvent">the event to log</param>
  22608. <remarks>
  22609. <para>
  22610. This method should not normally be used to log.
  22611. The <see cref="T:log4net.ILog"/> interface should be used
  22612. for routine logging. This interface can be obtained
  22613. using the <see cref="M:log4net.LogManager.GetLogger(string)"/> method.
  22614. </para>
  22615. <para>
  22616. The <c>logEvent</c> is delivered to the appropriate logger and
  22617. that logger is then responsible for logging the event.
  22618. </para>
  22619. </remarks>
  22620. </member>
  22621. <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetAppenders">
  22622. <summary>
  22623. Returns all the Appenders that are currently configured
  22624. </summary>
  22625. <returns>An array containing all the currently configured appenders</returns>
  22626. <remarks>
  22627. <para>
  22628. Returns all the <see cref="T:log4net.Appender.IAppender"/> instances that are currently configured.
  22629. All the loggers are searched for appenders. The appenders may also be containers
  22630. for appenders and these are also searched for additional loggers.
  22631. </para>
  22632. <para>
  22633. The list returned is unordered but does not contain duplicates.
  22634. </para>
  22635. </remarks>
  22636. </member>
  22637. <member name="M:log4net.Repository.Hierarchy.Hierarchy.CollectAppender(System.Collections.ArrayList,log4net.Appender.IAppender)">
  22638. <summary>
  22639. Collect the appenders from an <see cref="T:log4net.Core.IAppenderAttachable"/>.
  22640. The appender may also be a container.
  22641. </summary>
  22642. <param name="appenderList"></param>
  22643. <param name="appender"></param>
  22644. </member>
  22645. <member name="M:log4net.Repository.Hierarchy.Hierarchy.CollectAppenders(System.Collections.ArrayList,log4net.Core.IAppenderAttachable)">
  22646. <summary>
  22647. Collect the appenders from an <see cref="T:log4net.Core.IAppenderAttachable"/> container
  22648. </summary>
  22649. <param name="appenderList"></param>
  22650. <param name="container"></param>
  22651. </member>
  22652. <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IBasicRepositoryConfigurator#Configure(log4net.Appender.IAppender)">
  22653. <summary>
  22654. Initialize the log4net system using the specified appender
  22655. </summary>
  22656. <param name="appender">the appender to use to log all logging events</param>
  22657. </member>
  22658. <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IBasicRepositoryConfigurator#Configure(log4net.Appender.IAppender[])">
  22659. <summary>
  22660. Initialize the log4net system using the specified appenders
  22661. </summary>
  22662. <param name="appenders">the appenders to use to log all logging events</param>
  22663. </member>
  22664. <member name="M:log4net.Repository.Hierarchy.Hierarchy.BasicRepositoryConfigure(log4net.Appender.IAppender[])">
  22665. <summary>
  22666. Initialize the log4net system using the specified appenders
  22667. </summary>
  22668. <param name="appenders">the appenders to use to log all logging events</param>
  22669. <remarks>
  22670. <para>
  22671. This method provides the same functionality as the
  22672. <see cref="M:IBasicRepositoryConfigurator.Configure(IAppender)"/> method implemented
  22673. on this object, but it is protected and therefore can be called by subclasses.
  22674. </para>
  22675. </remarks>
  22676. </member>
  22677. <member name="M:log4net.Repository.Hierarchy.Hierarchy.log4net#Repository#IXmlRepositoryConfigurator#Configure(System.Xml.XmlElement)">
  22678. <summary>
  22679. Initialize the log4net system using the specified config
  22680. </summary>
  22681. <param name="element">the element containing the root of the config</param>
  22682. </member>
  22683. <member name="M:log4net.Repository.Hierarchy.Hierarchy.XmlRepositoryConfigure(System.Xml.XmlElement)">
  22684. <summary>
  22685. Initialize the log4net system using the specified config
  22686. </summary>
  22687. <param name="element">the element containing the root of the config</param>
  22688. <remarks>
  22689. <para>
  22690. This method provides the same functionality as the
  22691. <see cref="M:IBasicRepositoryConfigurator.Configure(IAppender)"/> method implemented
  22692. on this object, but it is protected and therefore can be called by subclasses.
  22693. </para>
  22694. </remarks>
  22695. </member>
  22696. <member name="M:log4net.Repository.Hierarchy.Hierarchy.IsDisabled(log4net.Core.Level)">
  22697. <summary>
  22698. Test if this hierarchy is disabled for the specified <see cref="T:log4net.Core.Level"/>.
  22699. </summary>
  22700. <param name="level">The level to check against.</param>
  22701. <returns>
  22702. <c>true</c> if the repository is disabled for the level argument, <c>false</c> otherwise.
  22703. </returns>
  22704. <remarks>
  22705. <para>
  22706. If this hierarchy has not been configured then this method will
  22707. always return <c>true</c>.
  22708. </para>
  22709. <para>
  22710. This method will return <c>true</c> if this repository is
  22711. disabled for <c>level</c> object passed as parameter and
  22712. <c>false</c> otherwise.
  22713. </para>
  22714. <para>
  22715. See also the <see cref="P:log4net.Repository.ILoggerRepository.Threshold"/> property.
  22716. </para>
  22717. </remarks>
  22718. </member>
  22719. <member name="M:log4net.Repository.Hierarchy.Hierarchy.Clear">
  22720. <summary>
  22721. Clear all logger definitions from the internal hashtable
  22722. </summary>
  22723. <remarks>
  22724. <para>
  22725. This call will clear all logger definitions from the internal
  22726. hashtable. Invoking this method will irrevocably mess up the
  22727. logger hierarchy.
  22728. </para>
  22729. <para>
  22730. You should <b>really</b> know what you are doing before
  22731. invoking this method.
  22732. </para>
  22733. </remarks>
  22734. </member>
  22735. <member name="M:log4net.Repository.Hierarchy.Hierarchy.GetLogger(System.String,log4net.Repository.Hierarchy.ILoggerFactory)">
  22736. <summary>
  22737. Return a new logger instance named as the first parameter using
  22738. <paramref name="factory"/>.
  22739. </summary>
  22740. <param name="name">The name of the logger to retrieve</param>
  22741. <param name="factory">The factory that will make the new logger instance</param>
  22742. <returns>The logger object with the name specified</returns>
  22743. <remarks>
  22744. <para>
  22745. If a logger of that name already exists, then it will be
  22746. returned. Otherwise, a new logger will be instantiated by the
  22747. <paramref name="factory"/> parameter and linked with its existing
  22748. ancestors as well as children.
  22749. </para>
  22750. </remarks>
  22751. </member>
  22752. <member name="M:log4net.Repository.Hierarchy.Hierarchy.OnLoggerCreationEvent(log4net.Repository.Hierarchy.Logger)">
  22753. <summary>
  22754. Sends a logger creation event to all registered listeners
  22755. </summary>
  22756. <param name="logger">The newly created logger</param>
  22757. <remarks>
  22758. Raises the logger creation event.
  22759. </remarks>
  22760. </member>
  22761. <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateParents(log4net.Repository.Hierarchy.Logger)">
  22762. <summary>
  22763. Updates all the parents of the specified logger
  22764. </summary>
  22765. <param name="log">The logger to update the parents for</param>
  22766. <remarks>
  22767. <para>
  22768. This method loops through all the <i>potential</i> parents of
  22769. <paramref name="log"/>. There 3 possible cases:
  22770. </para>
  22771. <list type="number">
  22772. <item>
  22773. <term>No entry for the potential parent of <paramref name="log"/> exists</term>
  22774. <description>
  22775. We create a ProvisionNode for this potential
  22776. parent and insert <paramref name="log"/> in that provision node.
  22777. </description>
  22778. </item>
  22779. <item>
  22780. <term>The entry is of type Logger for the potential parent.</term>
  22781. <description>
  22782. The entry is <paramref name="log"/>'s nearest existing parent. We
  22783. update <paramref name="log"/>'s parent field with this entry. We also break from
  22784. he loop because updating our parent's parent is our parent's
  22785. responsibility.
  22786. </description>
  22787. </item>
  22788. <item>
  22789. <term>The entry is of type ProvisionNode for this potential parent.</term>
  22790. <description>
  22791. We add <paramref name="log"/> to the list of children for this
  22792. potential parent.
  22793. </description>
  22794. </item>
  22795. </list>
  22796. </remarks>
  22797. </member>
  22798. <member name="M:log4net.Repository.Hierarchy.Hierarchy.UpdateChildren(log4net.Repository.Hierarchy.ProvisionNode,log4net.Repository.Hierarchy.Logger)">
  22799. <summary>
  22800. Replace a <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> with a <see cref="T:log4net.Repository.Hierarchy.Logger"/> in the hierarchy.
  22801. </summary>
  22802. <param name="pn"></param>
  22803. <param name="log"></param>
  22804. <remarks>
  22805. <para>
  22806. We update the links for all the children that placed themselves
  22807. in the provision node 'pn'. The second argument 'log' is a
  22808. reference for the newly created Logger, parent of all the
  22809. children in 'pn'.
  22810. </para>
  22811. <para>
  22812. We loop on all the children 'c' in 'pn'.
  22813. </para>
  22814. <para>
  22815. If the child 'c' has been already linked to a child of
  22816. 'log' then there is no need to update 'c'.
  22817. </para>
  22818. <para>
  22819. Otherwise, we set log's parent field to c's parent and set
  22820. c's parent field to log.
  22821. </para>
  22822. </remarks>
  22823. </member>
  22824. <member name="M:log4net.Repository.Hierarchy.Hierarchy.AddLevel(log4net.Repository.Hierarchy.Hierarchy.LevelEntry)">
  22825. <summary>
  22826. Define or redefine a Level using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
  22827. </summary>
  22828. <param name="levelEntry">the level values</param>
  22829. <remarks>
  22830. <para>
  22831. Define or redefine a Level using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
  22832. </para>
  22833. <para>
  22834. Supports setting levels via the configuration file.
  22835. </para>
  22836. </remarks>
  22837. </member>
  22838. <member name="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry">
  22839. <summary>
  22840. A class to hold the value, name and display name for a level
  22841. </summary>
  22842. <remarks>
  22843. <para>
  22844. A class to hold the value, name and display name for a level
  22845. </para>
  22846. </remarks>
  22847. </member>
  22848. <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.Value">
  22849. <summary>
  22850. Value of the level
  22851. </summary>
  22852. <remarks>
  22853. <para>
  22854. If the value is not set (defaults to -1) the value will be looked
  22855. up for the current level with the same name.
  22856. </para>
  22857. </remarks>
  22858. </member>
  22859. <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.Name">
  22860. <summary>
  22861. Name of the level
  22862. </summary>
  22863. <value>
  22864. The name of the level
  22865. </value>
  22866. <remarks>
  22867. <para>
  22868. The name of the level.
  22869. </para>
  22870. </remarks>
  22871. </member>
  22872. <member name="P:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.DisplayName">
  22873. <summary>
  22874. Display name for the level
  22875. </summary>
  22876. <value>
  22877. The display name of the level
  22878. </value>
  22879. <remarks>
  22880. <para>
  22881. The display name of the level.
  22882. </para>
  22883. </remarks>
  22884. </member>
  22885. <member name="M:log4net.Repository.Hierarchy.Hierarchy.LevelEntry.ToString">
  22886. <summary>
  22887. Override <c>Object.ToString</c> to return sensible debug info
  22888. </summary>
  22889. <returns>string info about this object</returns>
  22890. </member>
  22891. <member name="M:log4net.Repository.Hierarchy.Hierarchy.AddProperty(log4net.Util.PropertyEntry)">
  22892. <summary>
  22893. Set a Property using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument
  22894. </summary>
  22895. <param name="propertyEntry">the property value</param>
  22896. <remarks>
  22897. <para>
  22898. Set a Property using the values in the <see cref="T:log4net.Repository.Hierarchy.Hierarchy.LevelEntry"/> argument.
  22899. </para>
  22900. <para>
  22901. Supports setting property values via the configuration file.
  22902. </para>
  22903. </remarks>
  22904. </member>
  22905. <member name="F:log4net.Repository.Hierarchy.Hierarchy.declaringType">
  22906. <summary>
  22907. The fully qualified type of the Hierarchy class.
  22908. </summary>
  22909. <remarks>
  22910. Used by the internal logger to record the Type of the
  22911. log message.
  22912. </remarks>
  22913. </member>
  22914. <member name="T:log4net.Repository.Hierarchy.ILoggerFactory">
  22915. <summary>
  22916. Interface abstracts creation of <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances
  22917. </summary>
  22918. <remarks>
  22919. <para>
  22920. This interface is used by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to
  22921. create new <see cref="T:log4net.Repository.Hierarchy.Logger"/> objects.
  22922. </para>
  22923. <para>
  22924. The <see cref="M:log4net.Repository.Hierarchy.ILoggerFactory.CreateLogger(log4net.Repository.ILoggerRepository,System.String)"/> method is called
  22925. to create a named <see cref="T:log4net.Repository.Hierarchy.Logger" />.
  22926. </para>
  22927. <para>
  22928. Implement this interface to create new subclasses of <see cref="T:log4net.Repository.Hierarchy.Logger" />.
  22929. </para>
  22930. </remarks>
  22931. <author>Nicko Cadell</author>
  22932. <author>Gert Driesen</author>
  22933. </member>
  22934. <member name="M:log4net.Repository.Hierarchy.ILoggerFactory.CreateLogger(log4net.Repository.ILoggerRepository,System.String)">
  22935. <summary>
  22936. Create a new <see cref="T:log4net.Repository.Hierarchy.Logger" /> instance
  22937. </summary>
  22938. <param name="repository">The <see cref="T:log4net.Repository.ILoggerRepository" /> that will own the <see cref="T:log4net.Repository.Hierarchy.Logger" />.</param>
  22939. <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger" />.</param>
  22940. <returns>The <see cref="T:log4net.Repository.Hierarchy.Logger" /> instance for the specified name.</returns>
  22941. <remarks>
  22942. <para>
  22943. Create a new <see cref="T:log4net.Repository.Hierarchy.Logger" /> instance with the
  22944. specified name.
  22945. </para>
  22946. <para>
  22947. Called by the <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> to create
  22948. new named <see cref="T:log4net.Repository.Hierarchy.Logger"/> instances.
  22949. </para>
  22950. <para>
  22951. If the <paramref name="name"/> is <c>null</c> then the root logger
  22952. must be returned.
  22953. </para>
  22954. </remarks>
  22955. </member>
  22956. <member name="T:log4net.Repository.Hierarchy.Logger">
  22957. <summary>
  22958. Implementation of <see cref="T:log4net.Core.ILogger"/> used by <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>
  22959. </summary>
  22960. <remarks>
  22961. <para>
  22962. Internal class used to provide implementation of <see cref="T:log4net.Core.ILogger"/>
  22963. interface. Applications should use <see cref="T:log4net.LogManager"/> to get
  22964. logger instances.
  22965. </para>
  22966. <para>
  22967. This is one of the central classes in the log4net implementation. One of the
  22968. distinctive features of log4net are hierarchical loggers and their
  22969. evaluation. The <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> organizes the <see cref="T:log4net.Repository.Hierarchy.Logger"/>
  22970. instances into a rooted tree hierarchy.
  22971. </para>
  22972. <para>
  22973. The <see cref="T:log4net.Repository.Hierarchy.Logger"/> class is abstract. Only concrete subclasses of
  22974. <see cref="T:log4net.Repository.Hierarchy.Logger"/> can be created. The <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
  22975. is used to create instances of this type for the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
  22976. </para>
  22977. </remarks>
  22978. <author>Nicko Cadell</author>
  22979. <author>Gert Driesen</author>
  22980. <author>Aspi Havewala</author>
  22981. <author>Douglas de la Torre</author>
  22982. </member>
  22983. <member name="M:log4net.Repository.Hierarchy.Logger.#ctor(System.String)">
  22984. <summary>
  22985. This constructor created a new <see cref="T:log4net.Repository.Hierarchy.Logger" /> instance and
  22986. sets its name.
  22987. </summary>
  22988. <param name="name">The name of the <see cref="T:log4net.Repository.Hierarchy.Logger" />.</param>
  22989. <remarks>
  22990. <para>
  22991. This constructor is protected and designed to be used by
  22992. a subclass that is not abstract.
  22993. </para>
  22994. <para>
  22995. Loggers are constructed by <see cref="T:log4net.Repository.Hierarchy.ILoggerFactory"/>
  22996. objects. See <see cref="T:log4net.Repository.Hierarchy.DefaultLoggerFactory"/> for the default
  22997. logger creator.
  22998. </para>
  22999. </remarks>
  23000. </member>
  23001. <member name="P:log4net.Repository.Hierarchy.Logger.Parent">
  23002. <summary>
  23003. Gets or sets the parent logger in the hierarchy.
  23004. </summary>
  23005. <value>
  23006. The parent logger in the hierarchy.
  23007. </value>
  23008. <remarks>
  23009. <para>
  23010. Part of the Composite pattern that makes the hierarchy.
  23011. The hierarchy is parent linked rather than child linked.
  23012. </para>
  23013. </remarks>
  23014. </member>
  23015. <member name="P:log4net.Repository.Hierarchy.Logger.Additivity">
  23016. <summary>
  23017. Gets or sets a value indicating if child loggers inherit their parent's appenders.
  23018. </summary>
  23019. <value>
  23020. <c>true</c> if child loggers inherit their parent's appenders.
  23021. </value>
  23022. <remarks>
  23023. <para>
  23024. Additivity is set to <c>true</c> by default, that is children inherit
  23025. the appenders of their ancestors by default. If this variable is
  23026. set to <c>false</c> then the appenders found in the
  23027. ancestors of this logger are not used. However, the children
  23028. of this logger will inherit its appenders, unless the children
  23029. have their additivity flag set to <c>false</c> too. See
  23030. the user manual for more details.
  23031. </para>
  23032. </remarks>
  23033. </member>
  23034. <member name="P:log4net.Repository.Hierarchy.Logger.EffectiveLevel">
  23035. <summary>
  23036. Gets the effective level for this logger.
  23037. </summary>
  23038. <returns>The nearest level in the logger hierarchy.</returns>
  23039. <remarks>
  23040. <para>
  23041. Starting from this logger, searches the logger hierarchy for a
  23042. non-null level and returns it. Otherwise, returns the level of the
  23043. root logger.
  23044. </para>
  23045. <para>The Logger class is designed so that this method executes as
  23046. quickly as possible.</para>
  23047. </remarks>
  23048. </member>
  23049. <member name="P:log4net.Repository.Hierarchy.Logger.Hierarchy">
  23050. <summary>
  23051. Gets or sets the <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/> where this
  23052. <c>Logger</c> instance is attached to.
  23053. </summary>
  23054. <value>The hierarchy that this logger belongs to.</value>
  23055. <remarks>
  23056. <para>
  23057. This logger must be attached to a single <see cref="P:log4net.Repository.Hierarchy.Logger.Hierarchy"/>.
  23058. </para>
  23059. </remarks>
  23060. </member>
  23061. <member name="P:log4net.Repository.Hierarchy.Logger.Level">
  23062. <summary>
  23063. Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>, if any, for this Logger.
  23064. </summary>
  23065. <value>
  23066. The <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> of this logger.
  23067. </value>
  23068. <remarks>
  23069. <para>
  23070. The assigned <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> can be <c>null</c>.
  23071. </para>
  23072. </remarks>
  23073. </member>
  23074. <member name="M:log4net.Repository.Hierarchy.Logger.AddAppender(log4net.Appender.IAppender)">
  23075. <summary>
  23076. Add <paramref name="newAppender"/> to the list of appenders of this
  23077. Logger instance.
  23078. </summary>
  23079. <param name="newAppender">An appender to add to this logger</param>
  23080. <remarks>
  23081. <para>
  23082. Add <paramref name="newAppender"/> to the list of appenders of this
  23083. Logger instance.
  23084. </para>
  23085. <para>
  23086. If <paramref name="newAppender"/> is already in the list of
  23087. appenders, then it won't be added again.
  23088. </para>
  23089. </remarks>
  23090. </member>
  23091. <member name="P:log4net.Repository.Hierarchy.Logger.Appenders">
  23092. <summary>
  23093. Get the appenders contained in this logger as an
  23094. <see cref="T:System.Collections.ICollection"/>.
  23095. </summary>
  23096. <returns>A collection of the appenders in this logger</returns>
  23097. <remarks>
  23098. <para>
  23099. Get the appenders contained in this logger as an
  23100. <see cref="T:System.Collections.ICollection"/>. If no appenders
  23101. can be found, then a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
  23102. </para>
  23103. </remarks>
  23104. </member>
  23105. <member name="M:log4net.Repository.Hierarchy.Logger.GetAppender(System.String)">
  23106. <summary>
  23107. Look for the appender named as <c>name</c>
  23108. </summary>
  23109. <param name="name">The name of the appender to lookup</param>
  23110. <returns>The appender with the name specified, or <c>null</c>.</returns>
  23111. <remarks>
  23112. <para>
  23113. Returns the named appender, or null if the appender is not found.
  23114. </para>
  23115. </remarks>
  23116. </member>
  23117. <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAllAppenders">
  23118. <summary>
  23119. Remove all previously added appenders from this Logger instance.
  23120. </summary>
  23121. <remarks>
  23122. <para>
  23123. Remove all previously added appenders from this Logger instance.
  23124. </para>
  23125. <para>
  23126. This is useful when re-reading configuration information.
  23127. </para>
  23128. </remarks>
  23129. </member>
  23130. <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(log4net.Appender.IAppender)">
  23131. <summary>
  23132. Remove the appender passed as parameter form the list of appenders.
  23133. </summary>
  23134. <param name="appender">The appender to remove</param>
  23135. <returns>The appender removed from the list</returns>
  23136. <remarks>
  23137. <para>
  23138. Remove the appender passed as parameter form the list of appenders.
  23139. The appender removed is not closed.
  23140. If you are discarding the appender you must call
  23141. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  23142. </para>
  23143. </remarks>
  23144. </member>
  23145. <member name="M:log4net.Repository.Hierarchy.Logger.RemoveAppender(System.String)">
  23146. <summary>
  23147. Remove the appender passed as parameter form the list of appenders.
  23148. </summary>
  23149. <param name="name">The name of the appender to remove</param>
  23150. <returns>The appender removed from the list</returns>
  23151. <remarks>
  23152. <para>
  23153. Remove the named appender passed as parameter form the list of appenders.
  23154. The appender removed is not closed.
  23155. If you are discarding the appender you must call
  23156. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  23157. </para>
  23158. </remarks>
  23159. </member>
  23160. <member name="P:log4net.Repository.Hierarchy.Logger.Name">
  23161. <summary>
  23162. Gets the logger name.
  23163. </summary>
  23164. <value>
  23165. The name of the logger.
  23166. </value>
  23167. <remarks>
  23168. <para>
  23169. The name of this logger
  23170. </para>
  23171. </remarks>
  23172. </member>
  23173. <member name="M:log4net.Repository.Hierarchy.Logger.Log(System.Type,log4net.Core.Level,System.Object,System.Exception)">
  23174. <summary>
  23175. This generic form is intended to be used by wrappers.
  23176. </summary>
  23177. <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
  23178. the stack boundary into the logging system for this call.</param>
  23179. <param name="level">The level of the message to be logged.</param>
  23180. <param name="message">The message object to log.</param>
  23181. <param name="exception">The exception to log, including its stack trace.</param>
  23182. <remarks>
  23183. <para>
  23184. Generate a logging event for the specified <paramref name="level"/> using
  23185. the <paramref name="message"/> and <paramref name="exception"/>.
  23186. </para>
  23187. <para>
  23188. This method must not throw any exception to the caller.
  23189. </para>
  23190. </remarks>
  23191. </member>
  23192. <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.LoggingEvent)">
  23193. <summary>
  23194. This is the most generic printing method that is intended to be used
  23195. by wrappers.
  23196. </summary>
  23197. <param name="logEvent">The event being logged.</param>
  23198. <remarks>
  23199. <para>
  23200. Logs the specified logging event through this logger.
  23201. </para>
  23202. <para>
  23203. This method must not throw any exception to the caller.
  23204. </para>
  23205. </remarks>
  23206. </member>
  23207. <member name="M:log4net.Repository.Hierarchy.Logger.IsEnabledFor(log4net.Core.Level)">
  23208. <summary>
  23209. Checks if this logger is enabled for a given <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/> passed as parameter.
  23210. </summary>
  23211. <param name="level">The level to check.</param>
  23212. <returns>
  23213. <c>true</c> if this logger is enabled for <c>level</c>, otherwise <c>false</c>.
  23214. </returns>
  23215. <remarks>
  23216. <para>
  23217. Test if this logger is going to log events of the specified <paramref name="level"/>.
  23218. </para>
  23219. <para>
  23220. This method must not throw any exception to the caller.
  23221. </para>
  23222. </remarks>
  23223. </member>
  23224. <member name="P:log4net.Repository.Hierarchy.Logger.Repository">
  23225. <summary>
  23226. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this
  23227. <c>Logger</c> instance is attached to.
  23228. </summary>
  23229. <value>
  23230. The <see cref="T:log4net.Repository.ILoggerRepository" /> that this logger belongs to.
  23231. </value>
  23232. <remarks>
  23233. <para>
  23234. Gets the <see cref="T:log4net.Repository.ILoggerRepository"/> where this
  23235. <c>Logger</c> instance is attached to.
  23236. </para>
  23237. </remarks>
  23238. </member>
  23239. <member name="M:log4net.Repository.Hierarchy.Logger.CallAppenders(log4net.Core.LoggingEvent)">
  23240. <summary>
  23241. Deliver the <see cref="T:log4net.Core.LoggingEvent"/> to the attached appenders.
  23242. </summary>
  23243. <param name="loggingEvent">The event to log.</param>
  23244. <remarks>
  23245. <para>
  23246. Call the appenders in the hierarchy starting at
  23247. <c>this</c>. If no appenders could be found, emit a
  23248. warning.
  23249. </para>
  23250. <para>
  23251. This method calls all the appenders inherited from the
  23252. hierarchy circumventing any evaluation of whether to log or not
  23253. to log the particular log request.
  23254. </para>
  23255. </remarks>
  23256. </member>
  23257. <member name="M:log4net.Repository.Hierarchy.Logger.CloseNestedAppenders">
  23258. <summary>
  23259. Closes all attached appenders implementing the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
  23260. </summary>
  23261. <remarks>
  23262. <para>
  23263. Used to ensure that the appenders are correctly shutdown.
  23264. </para>
  23265. </remarks>
  23266. </member>
  23267. <member name="M:log4net.Repository.Hierarchy.Logger.Log(log4net.Core.Level,System.Object,System.Exception)">
  23268. <summary>
  23269. This is the most generic printing method. This generic form is intended to be used by wrappers
  23270. </summary>
  23271. <param name="level">The level of the message to be logged.</param>
  23272. <param name="message">The message object to log.</param>
  23273. <param name="exception">The exception to log, including its stack trace.</param>
  23274. <remarks>
  23275. <para>
  23276. Generate a logging event for the specified <paramref name="level"/> using
  23277. the <paramref name="message"/>.
  23278. </para>
  23279. </remarks>
  23280. </member>
  23281. <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(System.Type,log4net.Core.Level,System.Object,System.Exception)">
  23282. <summary>
  23283. Creates a new logging event and logs the event without further checks.
  23284. </summary>
  23285. <param name="callerStackBoundaryDeclaringType">The declaring type of the method that is
  23286. the stack boundary into the logging system for this call.</param>
  23287. <param name="level">The level of the message to be logged.</param>
  23288. <param name="message">The message object to log.</param>
  23289. <param name="exception">The exception to log, including its stack trace.</param>
  23290. <remarks>
  23291. <para>
  23292. Generates a logging event and delivers it to the attached
  23293. appenders.
  23294. </para>
  23295. </remarks>
  23296. </member>
  23297. <member name="M:log4net.Repository.Hierarchy.Logger.ForcedLog(log4net.Core.LoggingEvent)">
  23298. <summary>
  23299. Creates a new logging event and logs the event without further checks.
  23300. </summary>
  23301. <param name="logEvent">The event being logged.</param>
  23302. <remarks>
  23303. <para>
  23304. Delivers the logging event to the attached appenders.
  23305. </para>
  23306. </remarks>
  23307. </member>
  23308. <member name="F:log4net.Repository.Hierarchy.Logger.declaringType">
  23309. <summary>
  23310. The fully qualified type of the Logger class.
  23311. </summary>
  23312. </member>
  23313. <member name="F:log4net.Repository.Hierarchy.Logger.m_name">
  23314. <summary>
  23315. The name of this logger.
  23316. </summary>
  23317. </member>
  23318. <member name="F:log4net.Repository.Hierarchy.Logger.m_level">
  23319. <summary>
  23320. The assigned level of this logger.
  23321. </summary>
  23322. <remarks>
  23323. <para>
  23324. The <c>level</c> variable need not be
  23325. assigned a value in which case it is inherited
  23326. form the hierarchy.
  23327. </para>
  23328. </remarks>
  23329. </member>
  23330. <member name="F:log4net.Repository.Hierarchy.Logger.m_parent">
  23331. <summary>
  23332. The parent of this logger.
  23333. </summary>
  23334. <remarks>
  23335. <para>
  23336. The parent of this logger.
  23337. All loggers have at least one ancestor which is the root logger.
  23338. </para>
  23339. </remarks>
  23340. </member>
  23341. <member name="F:log4net.Repository.Hierarchy.Logger.m_hierarchy">
  23342. <summary>
  23343. Loggers need to know what Hierarchy they are in.
  23344. </summary>
  23345. <remarks>
  23346. <para>
  23347. Loggers need to know what Hierarchy they are in.
  23348. The hierarchy that this logger is a member of is stored
  23349. here.
  23350. </para>
  23351. </remarks>
  23352. </member>
  23353. <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderAttachedImpl">
  23354. <summary>
  23355. Helper implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
  23356. </summary>
  23357. </member>
  23358. <member name="F:log4net.Repository.Hierarchy.Logger.m_additive">
  23359. <summary>
  23360. Flag indicating if child loggers inherit their parents appenders
  23361. </summary>
  23362. <remarks>
  23363. <para>
  23364. Additivity is set to true by default, that is children inherit
  23365. the appenders of their ancestors by default. If this variable is
  23366. set to <c>false</c> then the appenders found in the
  23367. ancestors of this logger are not used. However, the children
  23368. of this logger will inherit its appenders, unless the children
  23369. have their additivity flag set to <c>false</c> too. See
  23370. the user manual for more details.
  23371. </para>
  23372. </remarks>
  23373. </member>
  23374. <member name="F:log4net.Repository.Hierarchy.Logger.m_appenderLock">
  23375. <summary>
  23376. Lock to protect AppenderAttachedImpl variable m_appenderAttachedImpl
  23377. </summary>
  23378. </member>
  23379. <member name="T:log4net.Repository.Hierarchy.LoggerKey">
  23380. <summary>
  23381. Used internally to accelerate hash table searches.
  23382. </summary>
  23383. <remarks>
  23384. <para>
  23385. Internal class used to improve performance of
  23386. string keyed hashtables.
  23387. </para>
  23388. <para>
  23389. The hashcode of the string is cached for reuse.
  23390. The string is stored as an interned value.
  23391. When comparing two <see cref="T:log4net.Repository.Hierarchy.LoggerKey"/> objects for equality
  23392. the reference equality of the interned strings is compared.
  23393. </para>
  23394. </remarks>
  23395. <author>Nicko Cadell</author>
  23396. <author>Gert Driesen</author>
  23397. </member>
  23398. <member name="M:log4net.Repository.Hierarchy.LoggerKey.#ctor(System.String)">
  23399. <summary>
  23400. Construct key with string name
  23401. </summary>
  23402. <remarks>
  23403. <para>
  23404. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.LoggerKey" /> class
  23405. with the specified name.
  23406. </para>
  23407. <para>
  23408. Stores the hashcode of the string and interns
  23409. the string key to optimize comparisons.
  23410. </para>
  23411. <note>
  23412. The Compact Framework 1.0 the <see cref="M:System.String.Intern(System.String)"/>
  23413. method does not work. On the Compact Framework
  23414. the string keys are not interned nor are they
  23415. compared by reference.
  23416. </note>
  23417. </remarks>
  23418. <param name="name">The name of the logger.</param>
  23419. </member>
  23420. <member name="M:log4net.Repository.Hierarchy.LoggerKey.GetHashCode">
  23421. <summary>
  23422. Returns a hash code for the current instance.
  23423. </summary>
  23424. <returns>A hash code for the current instance.</returns>
  23425. <remarks>
  23426. <para>
  23427. Returns the cached hashcode.
  23428. </para>
  23429. </remarks>
  23430. </member>
  23431. <member name="M:log4net.Repository.Hierarchy.LoggerKey.Equals(System.Object)">
  23432. <summary>
  23433. Determines whether two <see cref="T:log4net.Repository.Hierarchy.LoggerKey" /> instances
  23434. are equal.
  23435. </summary>
  23436. <param name="obj">The <see cref="T:System.Object" /> to compare with the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey" />.</param>
  23437. <returns>
  23438. <c>true</c> if the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:log4net.Repository.Hierarchy.LoggerKey" />; otherwise, <c>false</c>.
  23439. </returns>
  23440. <remarks>
  23441. <para>
  23442. Compares the references of the interned strings.
  23443. </para>
  23444. </remarks>
  23445. </member>
  23446. <member name="T:log4net.Repository.Hierarchy.ProvisionNode">
  23447. <summary>
  23448. Provision nodes are used where no logger instance has been specified
  23449. </summary>
  23450. <remarks>
  23451. <para>
  23452. <see cref="T:log4net.Repository.Hierarchy.ProvisionNode"/> instances are used in the
  23453. <see cref="T:log4net.Repository.Hierarchy.Hierarchy" /> when there is no specified
  23454. <see cref="T:log4net.Repository.Hierarchy.Logger" /> for that node.
  23455. </para>
  23456. <para>
  23457. A provision node holds a list of child loggers on behalf of
  23458. a logger that does not exist.
  23459. </para>
  23460. </remarks>
  23461. <author>Nicko Cadell</author>
  23462. <author>Gert Driesen</author>
  23463. </member>
  23464. <member name="M:log4net.Repository.Hierarchy.ProvisionNode.#ctor(log4net.Repository.Hierarchy.Logger)">
  23465. <summary>
  23466. Create a new provision node with child node
  23467. </summary>
  23468. <param name="log">A child logger to add to this node.</param>
  23469. <remarks>
  23470. <para>
  23471. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.ProvisionNode" /> class
  23472. with the specified child logger.
  23473. </para>
  23474. </remarks>
  23475. </member>
  23476. <member name="T:log4net.Repository.Hierarchy.RootLogger">
  23477. <summary>
  23478. The <see cref="T:log4net.Repository.Hierarchy.RootLogger" /> sits at the root of the logger hierarchy tree.
  23479. </summary>
  23480. <remarks>
  23481. <para>
  23482. The <see cref="T:log4net.Repository.Hierarchy.RootLogger" /> is a regular <see cref="T:log4net.Repository.Hierarchy.Logger" /> except
  23483. that it provides several guarantees.
  23484. </para>
  23485. <para>
  23486. First, it cannot be assigned a <c>null</c>
  23487. level. Second, since the root logger cannot have a parent, the
  23488. <see cref="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel"/> property always returns the value of the
  23489. level field without walking the hierarchy.
  23490. </para>
  23491. </remarks>
  23492. <author>Nicko Cadell</author>
  23493. <author>Gert Driesen</author>
  23494. </member>
  23495. <member name="M:log4net.Repository.Hierarchy.RootLogger.#ctor(log4net.Core.Level)">
  23496. <summary>
  23497. Construct a <see cref="T:log4net.Repository.Hierarchy.RootLogger"/>
  23498. </summary>
  23499. <param name="level">The level to assign to the root logger.</param>
  23500. <remarks>
  23501. <para>
  23502. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.RootLogger" /> class with
  23503. the specified logging level.
  23504. </para>
  23505. <para>
  23506. The root logger names itself as "root". However, the root
  23507. logger cannot be retrieved by name.
  23508. </para>
  23509. </remarks>
  23510. </member>
  23511. <member name="P:log4net.Repository.Hierarchy.RootLogger.EffectiveLevel">
  23512. <summary>
  23513. Gets the assigned level value without walking the logger hierarchy.
  23514. </summary>
  23515. <value>The assigned level value without walking the logger hierarchy.</value>
  23516. <remarks>
  23517. <para>
  23518. Because the root logger cannot have a parent and its level
  23519. must not be <c>null</c> this property just returns the
  23520. value of <see cref="P:log4net.Repository.Hierarchy.Logger.Level"/>.
  23521. </para>
  23522. </remarks>
  23523. </member>
  23524. <member name="P:log4net.Repository.Hierarchy.RootLogger.Level">
  23525. <summary>
  23526. Gets or sets the assigned <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> for the root logger.
  23527. </summary>
  23528. <value>
  23529. The <see cref="P:log4net.Repository.Hierarchy.RootLogger.Level"/> of the root logger.
  23530. </value>
  23531. <remarks>
  23532. <para>
  23533. Setting the level of the root logger to a <c>null</c> reference
  23534. may have catastrophic results. We prevent this here.
  23535. </para>
  23536. </remarks>
  23537. </member>
  23538. <member name="F:log4net.Repository.Hierarchy.RootLogger.declaringType">
  23539. <summary>
  23540. The fully qualified type of the RootLogger class.
  23541. </summary>
  23542. <remarks>
  23543. Used by the internal logger to record the Type of the
  23544. log message.
  23545. </remarks>
  23546. </member>
  23547. <member name="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator">
  23548. <summary>
  23549. Initializes the log4net environment using an XML DOM.
  23550. </summary>
  23551. <remarks>
  23552. <para>
  23553. Configures a <see cref="T:log4net.Repository.Hierarchy.Hierarchy"/> using an XML DOM.
  23554. </para>
  23555. </remarks>
  23556. <author>Nicko Cadell</author>
  23557. <author>Gert Driesen</author>
  23558. </member>
  23559. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.#ctor(log4net.Repository.Hierarchy.Hierarchy)">
  23560. <summary>
  23561. Construct the configurator for a hierarchy
  23562. </summary>
  23563. <param name="hierarchy">The hierarchy to build.</param>
  23564. <remarks>
  23565. <para>
  23566. Initializes a new instance of the <see cref="T:log4net.Repository.Hierarchy.XmlHierarchyConfigurator" /> class
  23567. with the specified <see cref="T:log4net.Repository.Hierarchy.Hierarchy" />.
  23568. </para>
  23569. </remarks>
  23570. </member>
  23571. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.Configure(System.Xml.XmlElement)">
  23572. <summary>
  23573. Configure the hierarchy by parsing a DOM tree of XML elements.
  23574. </summary>
  23575. <param name="element">The root element to parse.</param>
  23576. <remarks>
  23577. <para>
  23578. Configure the hierarchy by parsing a DOM tree of XML elements.
  23579. </para>
  23580. </remarks>
  23581. </member>
  23582. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindAppenderByReference(System.Xml.XmlElement)">
  23583. <summary>
  23584. Parse appenders by IDREF.
  23585. </summary>
  23586. <param name="appenderRef">The appender ref element.</param>
  23587. <returns>The instance of the appender that the ref refers to.</returns>
  23588. <remarks>
  23589. <para>
  23590. Parse an XML element that represents an appender and return
  23591. the appender.
  23592. </para>
  23593. </remarks>
  23594. </member>
  23595. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(System.Xml.XmlElement)">
  23596. <summary>
  23597. Parses an appender element.
  23598. </summary>
  23599. <param name="appenderElement">The appender element.</param>
  23600. <returns>The appender instance or <c>null</c> when parsing failed.</returns>
  23601. <remarks>
  23602. <para>
  23603. Parse an XML element that represents an appender and return
  23604. the appender instance.
  23605. </para>
  23606. </remarks>
  23607. </member>
  23608. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLogger(System.Xml.XmlElement)">
  23609. <summary>
  23610. Parses a logger element.
  23611. </summary>
  23612. <param name="loggerElement">The logger element.</param>
  23613. <remarks>
  23614. <para>
  23615. Parse an XML element that represents a logger.
  23616. </para>
  23617. </remarks>
  23618. </member>
  23619. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRoot(System.Xml.XmlElement)">
  23620. <summary>
  23621. Parses the root logger element.
  23622. </summary>
  23623. <param name="rootElement">The root element.</param>
  23624. <remarks>
  23625. <para>
  23626. Parse an XML element that represents the root logger.
  23627. </para>
  23628. </remarks>
  23629. </member>
  23630. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseChildrenOfLoggerElement(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
  23631. <summary>
  23632. Parses the children of a logger element.
  23633. </summary>
  23634. <param name="catElement">The category element.</param>
  23635. <param name="log">The logger instance.</param>
  23636. <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
  23637. <remarks>
  23638. <para>
  23639. Parse the child elements of a &lt;logger&gt; element.
  23640. </para>
  23641. </remarks>
  23642. </member>
  23643. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseRenderer(System.Xml.XmlElement)">
  23644. <summary>
  23645. Parses an object renderer.
  23646. </summary>
  23647. <param name="element">The renderer element.</param>
  23648. <remarks>
  23649. <para>
  23650. Parse an XML element that represents a renderer.
  23651. </para>
  23652. </remarks>
  23653. </member>
  23654. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseLevel(System.Xml.XmlElement,log4net.Repository.Hierarchy.Logger,System.Boolean)">
  23655. <summary>
  23656. Parses a level element.
  23657. </summary>
  23658. <param name="element">The level element.</param>
  23659. <param name="log">The logger object to set the level on.</param>
  23660. <param name="isRoot">Flag to indicate if the logger is the root logger.</param>
  23661. <remarks>
  23662. <para>
  23663. Parse an XML element that represents a level.
  23664. </para>
  23665. </remarks>
  23666. </member>
  23667. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.SetParameter(System.Xml.XmlElement,System.Object)">
  23668. <summary>
  23669. Sets a parameter on an object.
  23670. </summary>
  23671. <param name="element">The parameter element.</param>
  23672. <param name="target">The object to set the parameter on.</param>
  23673. <remarks>
  23674. The parameter name must correspond to a writable property
  23675. on the object. The value of the parameter is a string,
  23676. therefore this function will attempt to set a string
  23677. property first. If unable to set a string property it
  23678. will inspect the property and its argument type. It will
  23679. attempt to call a static method called <c>Parse</c> on the
  23680. type of the property. This method will take a single
  23681. string argument and return a value that can be used to
  23682. set the property.
  23683. </remarks>
  23684. </member>
  23685. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.HasAttributesOrElements(System.Xml.XmlElement)">
  23686. <summary>
  23687. Test if an element has no attributes or child elements
  23688. </summary>
  23689. <param name="element">the element to inspect</param>
  23690. <returns><c>true</c> if the element has any attributes or child elements, <c>false</c> otherwise</returns>
  23691. </member>
  23692. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.IsTypeConstructible(System.Type)">
  23693. <summary>
  23694. Test if a <see cref="T:System.Type"/> is constructible with <c>Activator.CreateInstance</c>.
  23695. </summary>
  23696. <param name="type">the type to inspect</param>
  23697. <returns><c>true</c> if the type is creatable using a default constructor, <c>false</c> otherwise</returns>
  23698. </member>
  23699. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.FindMethodInfo(System.Type,System.String)">
  23700. <summary>
  23701. Look for a method on the <paramref name="targetType"/> that matches the <paramref name="name"/> supplied
  23702. </summary>
  23703. <param name="targetType">the type that has the method</param>
  23704. <param name="name">the name of the method</param>
  23705. <returns>the method info found</returns>
  23706. <remarks>
  23707. <para>
  23708. The method must be a public instance method on the <paramref name="targetType"/>.
  23709. The method must be named <paramref name="name"/> or "Add" followed by <paramref name="name"/>.
  23710. The method must take a single parameter.
  23711. </para>
  23712. </remarks>
  23713. </member>
  23714. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ConvertStringTo(System.Type,System.String)">
  23715. <summary>
  23716. Converts a string value to a target type.
  23717. </summary>
  23718. <param name="type">The type of object to convert the string to.</param>
  23719. <param name="value">The string value to use as the value of the object.</param>
  23720. <returns>
  23721. <para>
  23722. An object of type <paramref name="type"/> with value <paramref name="value"/> or
  23723. <c>null</c> when the conversion could not be performed.
  23724. </para>
  23725. </returns>
  23726. </member>
  23727. <member name="M:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.CreateObjectFromXml(System.Xml.XmlElement,System.Type,System.Type)">
  23728. <summary>
  23729. Creates an object as specified in XML.
  23730. </summary>
  23731. <param name="element">The XML element that contains the definition of the object.</param>
  23732. <param name="defaultTargetType">The object type to use if not explicitly specified.</param>
  23733. <param name="typeConstraint">The type that the returned object must be or must inherit from.</param>
  23734. <returns>The object or <c>null</c></returns>
  23735. <remarks>
  23736. <para>
  23737. Parse an XML element and create an object instance based on the configuration
  23738. data.
  23739. </para>
  23740. <para>
  23741. The type of the instance may be specified in the XML. If not
  23742. specified then the <paramref name="defaultTargetType"/> is used
  23743. as the type. However the type is specified it must support the
  23744. <paramref name="typeConstraint"/> type.
  23745. </para>
  23746. </remarks>
  23747. </member>
  23748. <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_appenderBag">
  23749. <summary>
  23750. key: appenderName, value: appender.
  23751. </summary>
  23752. </member>
  23753. <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.m_hierarchy">
  23754. <summary>
  23755. The Hierarchy being configured.
  23756. </summary>
  23757. </member>
  23758. <member name="F:log4net.Repository.Hierarchy.XmlHierarchyConfigurator.declaringType">
  23759. <summary>
  23760. The fully qualified type of the XmlHierarchyConfigurator class.
  23761. </summary>
  23762. <remarks>
  23763. Used by the internal logger to record the Type of the
  23764. log message.
  23765. </remarks>
  23766. </member>
  23767. <member name="T:log4net.Repository.IBasicRepositoryConfigurator">
  23768. <summary>
  23769. Basic Configurator interface for repositories
  23770. </summary>
  23771. <remarks>
  23772. <para>
  23773. Interface used by basic configurator to configure a <see cref="T:log4net.Repository.ILoggerRepository"/>
  23774. with a default <see cref="T:log4net.Appender.IAppender"/>.
  23775. </para>
  23776. <para>
  23777. A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
  23778. configuration by the <see cref="T:log4net.Config.BasicConfigurator"/>.
  23779. </para>
  23780. </remarks>
  23781. <author>Nicko Cadell</author>
  23782. <author>Gert Driesen</author>
  23783. </member>
  23784. <member name="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender)">
  23785. <summary>
  23786. Initialize the repository using the specified appender
  23787. </summary>
  23788. <param name="appender">the appender to use to log all logging events</param>
  23789. <remarks>
  23790. <para>
  23791. Configure the repository to route all logging events to the
  23792. specified appender.
  23793. </para>
  23794. </remarks>
  23795. </member>
  23796. <member name="M:log4net.Repository.IBasicRepositoryConfigurator.Configure(log4net.Appender.IAppender[])">
  23797. <summary>
  23798. Initialize the repository using the specified appenders
  23799. </summary>
  23800. <param name="appenders">the appenders to use to log all logging events</param>
  23801. <remarks>
  23802. <para>
  23803. Configure the repository to route all logging events to the
  23804. specified appenders.
  23805. </para>
  23806. </remarks>
  23807. </member>
  23808. <member name="T:log4net.Repository.LoggerRepositoryShutdownEventHandler">
  23809. <summary>
  23810. Delegate used to handle logger repository shutdown event notifications
  23811. </summary>
  23812. <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that is shutting down.</param>
  23813. <param name="e">Empty event args</param>
  23814. <remarks>
  23815. <para>
  23816. Delegate used to handle logger repository shutdown event notifications.
  23817. </para>
  23818. </remarks>
  23819. </member>
  23820. <member name="T:log4net.Repository.LoggerRepositoryConfigurationResetEventHandler">
  23821. <summary>
  23822. Delegate used to handle logger repository configuration reset event notifications
  23823. </summary>
  23824. <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that has had its configuration reset.</param>
  23825. <param name="e">Empty event args</param>
  23826. <remarks>
  23827. <para>
  23828. Delegate used to handle logger repository configuration reset event notifications.
  23829. </para>
  23830. </remarks>
  23831. </member>
  23832. <member name="T:log4net.Repository.LoggerRepositoryConfigurationChangedEventHandler">
  23833. <summary>
  23834. Delegate used to handle event notifications for logger repository configuration changes.
  23835. </summary>
  23836. <param name="sender">The <see cref="T:log4net.Repository.ILoggerRepository"/> that has had its configuration changed.</param>
  23837. <param name="e">Empty event arguments.</param>
  23838. <remarks>
  23839. <para>
  23840. Delegate used to handle event notifications for logger repository configuration changes.
  23841. </para>
  23842. </remarks>
  23843. </member>
  23844. <member name="T:log4net.Repository.ILoggerRepository">
  23845. <summary>
  23846. Interface implemented by logger repositories.
  23847. </summary>
  23848. <remarks>
  23849. <para>
  23850. This interface is implemented by logger repositories. e.g.
  23851. <see cref="N:log4net.Repository.Hierarchy"/>.
  23852. </para>
  23853. <para>
  23854. This interface is used by the <see cref="T:log4net.LogManager"/>
  23855. to obtain <see cref="T:log4net.ILog"/> interfaces.
  23856. </para>
  23857. </remarks>
  23858. <author>Nicko Cadell</author>
  23859. <author>Gert Driesen</author>
  23860. </member>
  23861. <member name="P:log4net.Repository.ILoggerRepository.Name">
  23862. <summary>
  23863. The name of the repository
  23864. </summary>
  23865. <value>
  23866. The name of the repository
  23867. </value>
  23868. <remarks>
  23869. <para>
  23870. The name of the repository.
  23871. </para>
  23872. </remarks>
  23873. </member>
  23874. <member name="P:log4net.Repository.ILoggerRepository.RendererMap">
  23875. <summary>
  23876. RendererMap accesses the object renderer map for this repository.
  23877. </summary>
  23878. <value>
  23879. RendererMap accesses the object renderer map for this repository.
  23880. </value>
  23881. <remarks>
  23882. <para>
  23883. RendererMap accesses the object renderer map for this repository.
  23884. </para>
  23885. <para>
  23886. The RendererMap holds a mapping between types and
  23887. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
  23888. </para>
  23889. </remarks>
  23890. </member>
  23891. <member name="P:log4net.Repository.ILoggerRepository.PluginMap">
  23892. <summary>
  23893. The plugin map for this repository.
  23894. </summary>
  23895. <value>
  23896. The plugin map for this repository.
  23897. </value>
  23898. <remarks>
  23899. <para>
  23900. The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
  23901. that have been attached to this repository.
  23902. </para>
  23903. </remarks>
  23904. </member>
  23905. <member name="P:log4net.Repository.ILoggerRepository.LevelMap">
  23906. <summary>
  23907. Get the level map for the Repository.
  23908. </summary>
  23909. <remarks>
  23910. <para>
  23911. Get the level map for the Repository.
  23912. </para>
  23913. <para>
  23914. The level map defines the mappings between
  23915. level names and <see cref="T:log4net.Core.Level"/> objects in
  23916. this repository.
  23917. </para>
  23918. </remarks>
  23919. </member>
  23920. <member name="P:log4net.Repository.ILoggerRepository.Threshold">
  23921. <summary>
  23922. The threshold for all events in this repository
  23923. </summary>
  23924. <value>
  23925. The threshold for all events in this repository
  23926. </value>
  23927. <remarks>
  23928. <para>
  23929. The threshold for all events in this repository.
  23930. </para>
  23931. </remarks>
  23932. </member>
  23933. <member name="M:log4net.Repository.ILoggerRepository.Exists(System.String)">
  23934. <summary>
  23935. Check if the named logger exists in the repository. If so return
  23936. its reference, otherwise returns <c>null</c>.
  23937. </summary>
  23938. <param name="name">The name of the logger to lookup</param>
  23939. <returns>The Logger object with the name specified</returns>
  23940. <remarks>
  23941. <para>
  23942. If the names logger exists it is returned, otherwise
  23943. <c>null</c> is returned.
  23944. </para>
  23945. </remarks>
  23946. </member>
  23947. <member name="M:log4net.Repository.ILoggerRepository.GetCurrentLoggers">
  23948. <summary>
  23949. Returns all the currently defined loggers as an Array.
  23950. </summary>
  23951. <returns>All the defined loggers</returns>
  23952. <remarks>
  23953. <para>
  23954. Returns all the currently defined loggers as an Array.
  23955. </para>
  23956. </remarks>
  23957. </member>
  23958. <member name="M:log4net.Repository.ILoggerRepository.GetLogger(System.String)">
  23959. <summary>
  23960. Returns a named logger instance
  23961. </summary>
  23962. <param name="name">The name of the logger to retrieve</param>
  23963. <returns>The logger object with the name specified</returns>
  23964. <remarks>
  23965. <para>
  23966. Returns a named logger instance.
  23967. </para>
  23968. <para>
  23969. If a logger of that name already exists, then it will be
  23970. returned. Otherwise, a new logger will be instantiated and
  23971. then linked with its existing ancestors as well as children.
  23972. </para>
  23973. </remarks>
  23974. </member>
  23975. <member name="M:log4net.Repository.ILoggerRepository.Shutdown">
  23976. <summary>Shutdown the repository</summary>
  23977. <remarks>
  23978. <para>
  23979. Shutting down a repository will <i>safely</i> close and remove
  23980. all appenders in all loggers including the root logger.
  23981. </para>
  23982. <para>
  23983. Some appenders need to be closed before the
  23984. application exists. Otherwise, pending logging events might be
  23985. lost.
  23986. </para>
  23987. <para>
  23988. The <see cref="M:Shutdown()"/> method is careful to close nested
  23989. appenders before closing regular appenders. This is allows
  23990. configurations where a regular appender is attached to a logger
  23991. and again to a nested appender.
  23992. </para>
  23993. </remarks>
  23994. </member>
  23995. <member name="M:log4net.Repository.ILoggerRepository.ResetConfiguration">
  23996. <summary>
  23997. Reset the repositories configuration to a default state
  23998. </summary>
  23999. <remarks>
  24000. <para>
  24001. Reset all values contained in this instance to their
  24002. default state.
  24003. </para>
  24004. <para>
  24005. Existing loggers are not removed. They are just reset.
  24006. </para>
  24007. <para>
  24008. This method should be used sparingly and with care as it will
  24009. block all logging until it is completed.
  24010. </para>
  24011. </remarks>
  24012. </member>
  24013. <member name="M:log4net.Repository.ILoggerRepository.Log(log4net.Core.LoggingEvent)">
  24014. <summary>
  24015. Log the <see cref="T:log4net.Core.LoggingEvent"/> through this repository.
  24016. </summary>
  24017. <param name="logEvent">the event to log</param>
  24018. <remarks>
  24019. <para>
  24020. This method should not normally be used to log.
  24021. The <see cref="T:log4net.ILog"/> interface should be used
  24022. for routine logging. This interface can be obtained
  24023. using the <see cref="M:log4net.LogManager.GetLogger(string)"/> method.
  24024. </para>
  24025. <para>
  24026. The <c>logEvent</c> is delivered to the appropriate logger and
  24027. that logger is then responsible for logging the event.
  24028. </para>
  24029. </remarks>
  24030. </member>
  24031. <member name="P:log4net.Repository.ILoggerRepository.Configured">
  24032. <summary>
  24033. Flag indicates if this repository has been configured.
  24034. </summary>
  24035. <value>
  24036. Flag indicates if this repository has been configured.
  24037. </value>
  24038. <remarks>
  24039. <para>
  24040. Flag indicates if this repository has been configured.
  24041. </para>
  24042. </remarks>
  24043. </member>
  24044. <member name="P:log4net.Repository.ILoggerRepository.ConfigurationMessages">
  24045. <summary>
  24046. Collection of internal messages captured during the most
  24047. recent configuration process.
  24048. </summary>
  24049. </member>
  24050. <member name="E:log4net.Repository.ILoggerRepository.ShutdownEvent">
  24051. <summary>
  24052. Event to notify that the repository has been shutdown.
  24053. </summary>
  24054. <value>
  24055. Event to notify that the repository has been shutdown.
  24056. </value>
  24057. <remarks>
  24058. <para>
  24059. Event raised when the repository has been shutdown.
  24060. </para>
  24061. </remarks>
  24062. </member>
  24063. <member name="E:log4net.Repository.ILoggerRepository.ConfigurationReset">
  24064. <summary>
  24065. Event to notify that the repository has had its configuration reset.
  24066. </summary>
  24067. <value>
  24068. Event to notify that the repository has had its configuration reset.
  24069. </value>
  24070. <remarks>
  24071. <para>
  24072. Event raised when the repository's configuration has been
  24073. reset to default.
  24074. </para>
  24075. </remarks>
  24076. </member>
  24077. <member name="E:log4net.Repository.ILoggerRepository.ConfigurationChanged">
  24078. <summary>
  24079. Event to notify that the repository has had its configuration changed.
  24080. </summary>
  24081. <value>
  24082. Event to notify that the repository has had its configuration changed.
  24083. </value>
  24084. <remarks>
  24085. <para>
  24086. Event raised when the repository's configuration has been changed.
  24087. </para>
  24088. </remarks>
  24089. </member>
  24090. <member name="P:log4net.Repository.ILoggerRepository.Properties">
  24091. <summary>
  24092. Repository specific properties
  24093. </summary>
  24094. <value>
  24095. Repository specific properties
  24096. </value>
  24097. <remarks>
  24098. <para>
  24099. These properties can be specified on a repository specific basis.
  24100. </para>
  24101. </remarks>
  24102. </member>
  24103. <member name="M:log4net.Repository.ILoggerRepository.GetAppenders">
  24104. <summary>
  24105. Returns all the Appenders that are configured as an Array.
  24106. </summary>
  24107. <returns>All the Appenders</returns>
  24108. <remarks>
  24109. <para>
  24110. Returns all the Appenders that are configured as an Array.
  24111. </para>
  24112. </remarks>
  24113. </member>
  24114. <member name="T:log4net.Repository.IXmlRepositoryConfigurator">
  24115. <summary>
  24116. Configure repository using XML
  24117. </summary>
  24118. <remarks>
  24119. <para>
  24120. Interface used by Xml configurator to configure a <see cref="T:log4net.Repository.ILoggerRepository"/>.
  24121. </para>
  24122. <para>
  24123. A <see cref="T:log4net.Repository.ILoggerRepository"/> should implement this interface to support
  24124. configuration by the <see cref="T:log4net.Config.XmlConfigurator"/>.
  24125. </para>
  24126. </remarks>
  24127. <author>Nicko Cadell</author>
  24128. <author>Gert Driesen</author>
  24129. </member>
  24130. <member name="M:log4net.Repository.IXmlRepositoryConfigurator.Configure(System.Xml.XmlElement)">
  24131. <summary>
  24132. Initialize the repository using the specified config
  24133. </summary>
  24134. <param name="element">the element containing the root of the config</param>
  24135. <remarks>
  24136. <para>
  24137. The schema for the XML configuration data is defined by
  24138. the implementation.
  24139. </para>
  24140. </remarks>
  24141. </member>
  24142. <member name="T:log4net.Repository.LoggerRepositorySkeleton">
  24143. <summary>
  24144. Base implementation of <see cref="T:log4net.Repository.ILoggerRepository"/>
  24145. </summary>
  24146. <remarks>
  24147. <para>
  24148. Default abstract implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
  24149. </para>
  24150. <para>
  24151. Skeleton implementation of the <see cref="T:log4net.Repository.ILoggerRepository"/> interface.
  24152. All <see cref="T:log4net.Repository.ILoggerRepository"/> types can extend this type.
  24153. </para>
  24154. </remarks>
  24155. <author>Nicko Cadell</author>
  24156. <author>Gert Driesen</author>
  24157. </member>
  24158. <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor">
  24159. <summary>
  24160. Default Constructor
  24161. </summary>
  24162. <remarks>
  24163. <para>
  24164. Initializes the repository with default (empty) properties.
  24165. </para>
  24166. </remarks>
  24167. </member>
  24168. <member name="M:log4net.Repository.LoggerRepositorySkeleton.#ctor(log4net.Util.PropertiesDictionary)">
  24169. <summary>
  24170. Construct the repository using specific properties
  24171. </summary>
  24172. <param name="properties">the properties to set for this repository</param>
  24173. <remarks>
  24174. <para>
  24175. Initializes the repository with specified properties.
  24176. </para>
  24177. </remarks>
  24178. </member>
  24179. <member name="P:log4net.Repository.LoggerRepositorySkeleton.Name">
  24180. <summary>
  24181. The name of the repository
  24182. </summary>
  24183. <value>
  24184. The string name of the repository
  24185. </value>
  24186. <remarks>
  24187. <para>
  24188. The name of this repository. The name is
  24189. used to store and lookup the repositories
  24190. stored by the <see cref="T:log4net.Core.IRepositorySelector"/>.
  24191. </para>
  24192. </remarks>
  24193. </member>
  24194. <member name="P:log4net.Repository.LoggerRepositorySkeleton.Threshold">
  24195. <summary>
  24196. The threshold for all events in this repository
  24197. </summary>
  24198. <value>
  24199. The threshold for all events in this repository
  24200. </value>
  24201. <remarks>
  24202. <para>
  24203. The threshold for all events in this repository
  24204. </para>
  24205. </remarks>
  24206. </member>
  24207. <member name="P:log4net.Repository.LoggerRepositorySkeleton.RendererMap">
  24208. <summary>
  24209. RendererMap accesses the object renderer map for this repository.
  24210. </summary>
  24211. <value>
  24212. RendererMap accesses the object renderer map for this repository.
  24213. </value>
  24214. <remarks>
  24215. <para>
  24216. RendererMap accesses the object renderer map for this repository.
  24217. </para>
  24218. <para>
  24219. The RendererMap holds a mapping between types and
  24220. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/> objects.
  24221. </para>
  24222. </remarks>
  24223. </member>
  24224. <member name="P:log4net.Repository.LoggerRepositorySkeleton.PluginMap">
  24225. <summary>
  24226. The plugin map for this repository.
  24227. </summary>
  24228. <value>
  24229. The plugin map for this repository.
  24230. </value>
  24231. <remarks>
  24232. <para>
  24233. The plugin map holds the <see cref="T:log4net.Plugin.IPlugin"/> instances
  24234. that have been attached to this repository.
  24235. </para>
  24236. </remarks>
  24237. </member>
  24238. <member name="P:log4net.Repository.LoggerRepositorySkeleton.LevelMap">
  24239. <summary>
  24240. Get the level map for the Repository.
  24241. </summary>
  24242. <remarks>
  24243. <para>
  24244. Get the level map for the Repository.
  24245. </para>
  24246. <para>
  24247. The level map defines the mappings between
  24248. level names and <see cref="T:log4net.Core.Level"/> objects in
  24249. this repository.
  24250. </para>
  24251. </remarks>
  24252. </member>
  24253. <member name="M:log4net.Repository.LoggerRepositorySkeleton.Exists(System.String)">
  24254. <summary>
  24255. Test if logger exists
  24256. </summary>
  24257. <param name="name">The name of the logger to lookup</param>
  24258. <returns>The Logger object with the name specified</returns>
  24259. <remarks>
  24260. <para>
  24261. Check if the named logger exists in the repository. If so return
  24262. its reference, otherwise returns <c>null</c>.
  24263. </para>
  24264. </remarks>
  24265. </member>
  24266. <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetCurrentLoggers">
  24267. <summary>
  24268. Returns all the currently defined loggers in the repository
  24269. </summary>
  24270. <returns>All the defined loggers</returns>
  24271. <remarks>
  24272. <para>
  24273. Returns all the currently defined loggers in the repository as an Array.
  24274. </para>
  24275. </remarks>
  24276. </member>
  24277. <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetLogger(System.String)">
  24278. <summary>
  24279. Return a new logger instance
  24280. </summary>
  24281. <param name="name">The name of the logger to retrieve</param>
  24282. <returns>The logger object with the name specified</returns>
  24283. <remarks>
  24284. <para>
  24285. Return a new logger instance.
  24286. </para>
  24287. <para>
  24288. If a logger of that name already exists, then it will be
  24289. returned. Otherwise, a new logger will be instantiated and
  24290. then linked with its existing ancestors as well as children.
  24291. </para>
  24292. </remarks>
  24293. </member>
  24294. <member name="M:log4net.Repository.LoggerRepositorySkeleton.Shutdown">
  24295. <summary>
  24296. Shutdown the repository
  24297. </summary>
  24298. <remarks>
  24299. <para>
  24300. Shutdown the repository. Can be overridden in a subclass.
  24301. This base class implementation notifies the <see cref="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent"/>
  24302. listeners and all attached plugins of the shutdown event.
  24303. </para>
  24304. </remarks>
  24305. </member>
  24306. <member name="M:log4net.Repository.LoggerRepositorySkeleton.ResetConfiguration">
  24307. <summary>
  24308. Reset the repositories configuration to a default state
  24309. </summary>
  24310. <remarks>
  24311. <para>
  24312. Reset all values contained in this instance to their
  24313. default state.
  24314. </para>
  24315. <para>
  24316. Existing loggers are not removed. They are just reset.
  24317. </para>
  24318. <para>
  24319. This method should be used sparingly and with care as it will
  24320. block all logging until it is completed.
  24321. </para>
  24322. </remarks>
  24323. </member>
  24324. <member name="M:log4net.Repository.LoggerRepositorySkeleton.Log(log4net.Core.LoggingEvent)">
  24325. <summary>
  24326. Log the logEvent through this repository.
  24327. </summary>
  24328. <param name="logEvent">the event to log</param>
  24329. <remarks>
  24330. <para>
  24331. This method should not normally be used to log.
  24332. The <see cref="T:log4net.ILog"/> interface should be used
  24333. for routine logging. This interface can be obtained
  24334. using the <see cref="M:log4net.LogManager.GetLogger(string)"/> method.
  24335. </para>
  24336. <para>
  24337. The <c>logEvent</c> is delivered to the appropriate logger and
  24338. that logger is then responsible for logging the event.
  24339. </para>
  24340. </remarks>
  24341. </member>
  24342. <member name="P:log4net.Repository.LoggerRepositorySkeleton.Configured">
  24343. <summary>
  24344. Flag indicates if this repository has been configured.
  24345. </summary>
  24346. <value>
  24347. Flag indicates if this repository has been configured.
  24348. </value>
  24349. <remarks>
  24350. <para>
  24351. Flag indicates if this repository has been configured.
  24352. </para>
  24353. </remarks>
  24354. </member>
  24355. <member name="P:log4net.Repository.LoggerRepositorySkeleton.ConfigurationMessages">
  24356. <summary>
  24357. Contains a list of internal messages captures during the
  24358. last configuration.
  24359. </summary>
  24360. </member>
  24361. <member name="E:log4net.Repository.LoggerRepositorySkeleton.ShutdownEvent">
  24362. <summary>
  24363. Event to notify that the repository has been shutdown.
  24364. </summary>
  24365. <value>
  24366. Event to notify that the repository has been shutdown.
  24367. </value>
  24368. <remarks>
  24369. <para>
  24370. Event raised when the repository has been shutdown.
  24371. </para>
  24372. </remarks>
  24373. </member>
  24374. <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationReset">
  24375. <summary>
  24376. Event to notify that the repository has had its configuration reset.
  24377. </summary>
  24378. <value>
  24379. Event to notify that the repository has had its configuration reset.
  24380. </value>
  24381. <remarks>
  24382. <para>
  24383. Event raised when the repository's configuration has been
  24384. reset to default.
  24385. </para>
  24386. </remarks>
  24387. </member>
  24388. <member name="E:log4net.Repository.LoggerRepositorySkeleton.ConfigurationChanged">
  24389. <summary>
  24390. Event to notify that the repository has had its configuration changed.
  24391. </summary>
  24392. <value>
  24393. Event to notify that the repository has had its configuration changed.
  24394. </value>
  24395. <remarks>
  24396. <para>
  24397. Event raised when the repository's configuration has been changed.
  24398. </para>
  24399. </remarks>
  24400. </member>
  24401. <member name="P:log4net.Repository.LoggerRepositorySkeleton.Properties">
  24402. <summary>
  24403. Repository specific properties
  24404. </summary>
  24405. <value>
  24406. Repository specific properties
  24407. </value>
  24408. <remarks>
  24409. These properties can be specified on a repository specific basis
  24410. </remarks>
  24411. </member>
  24412. <member name="M:log4net.Repository.LoggerRepositorySkeleton.GetAppenders">
  24413. <summary>
  24414. Returns all the Appenders that are configured as an Array.
  24415. </summary>
  24416. <returns>All the Appenders</returns>
  24417. <remarks>
  24418. <para>
  24419. Returns all the Appenders that are configured as an Array.
  24420. </para>
  24421. </remarks>
  24422. </member>
  24423. <member name="F:log4net.Repository.LoggerRepositorySkeleton.declaringType">
  24424. <summary>
  24425. The fully qualified type of the LoggerRepositorySkeleton class.
  24426. </summary>
  24427. <remarks>
  24428. Used by the internal logger to record the Type of the
  24429. log message.
  24430. </remarks>
  24431. </member>
  24432. <member name="M:log4net.Repository.LoggerRepositorySkeleton.AddRenderer(System.Type,log4net.ObjectRenderer.IObjectRenderer)">
  24433. <summary>
  24434. Adds an object renderer for a specific class.
  24435. </summary>
  24436. <param name="typeToRender">The type that will be rendered by the renderer supplied.</param>
  24437. <param name="rendererInstance">The object renderer used to render the object.</param>
  24438. <remarks>
  24439. <para>
  24440. Adds an object renderer for a specific class.
  24441. </para>
  24442. </remarks>
  24443. </member>
  24444. <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnShutdown(System.EventArgs)">
  24445. <summary>
  24446. Notify the registered listeners that the repository is shutting down
  24447. </summary>
  24448. <param name="e">Empty EventArgs</param>
  24449. <remarks>
  24450. <para>
  24451. Notify any listeners that this repository is shutting down.
  24452. </para>
  24453. </remarks>
  24454. </member>
  24455. <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationReset(System.EventArgs)">
  24456. <summary>
  24457. Notify the registered listeners that the repository has had its configuration reset
  24458. </summary>
  24459. <param name="e">Empty EventArgs</param>
  24460. <remarks>
  24461. <para>
  24462. Notify any listeners that this repository's configuration has been reset.
  24463. </para>
  24464. </remarks>
  24465. </member>
  24466. <member name="M:log4net.Repository.LoggerRepositorySkeleton.OnConfigurationChanged(System.EventArgs)">
  24467. <summary>
  24468. Notify the registered listeners that the repository has had its configuration changed
  24469. </summary>
  24470. <param name="e">Empty EventArgs</param>
  24471. <remarks>
  24472. <para>
  24473. Notify any listeners that this repository's configuration has changed.
  24474. </para>
  24475. </remarks>
  24476. </member>
  24477. <member name="M:log4net.Repository.LoggerRepositorySkeleton.RaiseConfigurationChanged(System.EventArgs)">
  24478. <summary>
  24479. Raise a configuration changed event on this repository
  24480. </summary>
  24481. <param name="e">EventArgs.Empty</param>
  24482. <remarks>
  24483. <para>
  24484. Applications that programmatically change the configuration of the repository should
  24485. raise this event notification to notify listeners.
  24486. </para>
  24487. </remarks>
  24488. </member>
  24489. <member name="M:log4net.Repository.LoggerRepositorySkeleton.Flush(System.Int32)">
  24490. <summary>
  24491. Flushes all configured Appenders that implement <see cref="T:log4net.Appender.IFlushable"/>.
  24492. </summary>
  24493. <param name="millisecondsTimeout">The maximum time in milliseconds to wait for logging events from asycnhronous appenders to be flushed,
  24494. or <see cref="F:System.Threading.Timeout.Infinite"/> to wait indefinitely.</param>
  24495. <returns><c>True</c> if all logging events were flushed successfully, else <c>false</c>.</returns>
  24496. </member>
  24497. <member name="T:log4net.ThreadContext">
  24498. <summary>
  24499. The log4net Thread Context.
  24500. </summary>
  24501. <remarks>
  24502. <para>
  24503. The <c>ThreadContext</c> provides a location for thread specific debugging
  24504. information to be stored.
  24505. The <c>ThreadContext</c> properties override any <see cref="T:log4net.GlobalContext"/>
  24506. properties with the same name.
  24507. </para>
  24508. <para>
  24509. The thread context has a properties map and a stack.
  24510. The properties and stack can
  24511. be included in the output of log messages. The <see cref="T:log4net.Layout.PatternLayout"/>
  24512. supports selecting and outputting these properties.
  24513. </para>
  24514. <para>
  24515. The Thread Context provides a diagnostic context for the current thread.
  24516. This is an instrument for distinguishing interleaved log
  24517. output from different sources. Log output is typically interleaved
  24518. when a server handles multiple clients near-simultaneously.
  24519. </para>
  24520. <para>
  24521. The Thread Context is managed on a per thread basis.
  24522. </para>
  24523. </remarks>
  24524. <example>Example of using the thread context properties to store a username.
  24525. <code lang="C#">
  24526. ThreadContext.Properties["user"] = userName;
  24527. log.Info("This log message has a ThreadContext Property called 'user'");
  24528. </code>
  24529. </example>
  24530. <example>Example of how to push a message into the context stack
  24531. <code lang="C#">
  24532. using(ThreadContext.Stacks["NDC"].Push("my context message"))
  24533. {
  24534. log.Info("This log message has a ThreadContext Stack message that includes 'my context message'");
  24535. } // at the end of the using block the message is automatically popped
  24536. </code>
  24537. </example>
  24538. <threadsafety static="true" instance="true" />
  24539. <author>Nicko Cadell</author>
  24540. </member>
  24541. <member name="M:log4net.ThreadContext.#ctor">
  24542. <summary>
  24543. Private Constructor.
  24544. </summary>
  24545. <remarks>
  24546. <para>
  24547. Uses a private access modifier to prevent instantiation of this class.
  24548. </para>
  24549. </remarks>
  24550. </member>
  24551. <member name="P:log4net.ThreadContext.Properties">
  24552. <summary>
  24553. The thread properties map
  24554. </summary>
  24555. <value>
  24556. The thread properties map
  24557. </value>
  24558. <remarks>
  24559. <para>
  24560. The <c>ThreadContext</c> properties override any <see cref="T:log4net.GlobalContext"/>
  24561. properties with the same name.
  24562. </para>
  24563. </remarks>
  24564. </member>
  24565. <member name="P:log4net.ThreadContext.Stacks">
  24566. <summary>
  24567. The thread stacks
  24568. </summary>
  24569. <value>
  24570. stack map
  24571. </value>
  24572. <remarks>
  24573. <para>
  24574. The thread local stacks.
  24575. </para>
  24576. </remarks>
  24577. </member>
  24578. <member name="F:log4net.ThreadContext.s_properties">
  24579. <summary>
  24580. The thread context properties instance
  24581. </summary>
  24582. </member>
  24583. <member name="F:log4net.ThreadContext.s_stacks">
  24584. <summary>
  24585. The thread context stacks instance
  24586. </summary>
  24587. </member>
  24588. <member name="T:log4net.Util.AppenderAttachedImpl">
  24589. <summary>
  24590. A straightforward implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface.
  24591. </summary>
  24592. <remarks>
  24593. <para>
  24594. This is the default implementation of the <see cref="T:log4net.Core.IAppenderAttachable"/>
  24595. interface. Implementors of the <see cref="T:log4net.Core.IAppenderAttachable"/> interface
  24596. should aggregate an instance of this type.
  24597. </para>
  24598. </remarks>
  24599. <author>Nicko Cadell</author>
  24600. <author>Gert Driesen</author>
  24601. </member>
  24602. <member name="M:log4net.Util.AppenderAttachedImpl.#ctor">
  24603. <summary>
  24604. Constructor
  24605. </summary>
  24606. <remarks>
  24607. <para>
  24608. Initializes a new instance of the <see cref="T:log4net.Util.AppenderAttachedImpl"/> class.
  24609. </para>
  24610. </remarks>
  24611. </member>
  24612. <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent)">
  24613. <summary>
  24614. Append on on all attached appenders.
  24615. </summary>
  24616. <param name="loggingEvent">The event being logged.</param>
  24617. <returns>The number of appenders called.</returns>
  24618. <remarks>
  24619. <para>
  24620. Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)" /> method on all
  24621. attached appenders.
  24622. </para>
  24623. </remarks>
  24624. </member>
  24625. <member name="M:log4net.Util.AppenderAttachedImpl.AppendLoopOnAppenders(log4net.Core.LoggingEvent[])">
  24626. <summary>
  24627. Append on on all attached appenders.
  24628. </summary>
  24629. <param name="loggingEvents">The array of events being logged.</param>
  24630. <returns>The number of appenders called.</returns>
  24631. <remarks>
  24632. <para>
  24633. Calls the <see cref="M:log4net.Appender.IAppender.DoAppend(log4net.Core.LoggingEvent)" /> method on all
  24634. attached appenders.
  24635. </para>
  24636. </remarks>
  24637. </member>
  24638. <member name="M:log4net.Util.AppenderAttachedImpl.CallAppend(log4net.Appender.IAppender,log4net.Core.LoggingEvent[])">
  24639. <summary>
  24640. Calls the DoAppende method on the <see cref="T:log4net.Appender.IAppender"/> with
  24641. the <see cref="T:log4net.Core.LoggingEvent"/> objects supplied.
  24642. </summary>
  24643. <param name="appender">The appender</param>
  24644. <param name="loggingEvents">The events</param>
  24645. <remarks>
  24646. <para>
  24647. If the <paramref name="appender" /> supports the <see cref="T:log4net.Appender.IBulkAppender"/>
  24648. interface then the <paramref name="loggingEvents" /> will be passed
  24649. through using that interface. Otherwise the <see cref="T:log4net.Core.LoggingEvent"/>
  24650. objects in the array will be passed one at a time.
  24651. </para>
  24652. </remarks>
  24653. </member>
  24654. <member name="M:log4net.Util.AppenderAttachedImpl.AddAppender(log4net.Appender.IAppender)">
  24655. <summary>
  24656. Attaches an appender.
  24657. </summary>
  24658. <param name="newAppender">The appender to add.</param>
  24659. <remarks>
  24660. <para>
  24661. If the appender is already in the list it won't be added again.
  24662. </para>
  24663. </remarks>
  24664. </member>
  24665. <member name="P:log4net.Util.AppenderAttachedImpl.Appenders">
  24666. <summary>
  24667. Gets all attached appenders.
  24668. </summary>
  24669. <returns>
  24670. A collection of attached appenders, or <c>null</c> if there
  24671. are no attached appenders.
  24672. </returns>
  24673. <remarks>
  24674. <para>
  24675. The read only collection of all currently attached appenders.
  24676. </para>
  24677. </remarks>
  24678. </member>
  24679. <member name="M:log4net.Util.AppenderAttachedImpl.GetAppender(System.String)">
  24680. <summary>
  24681. Gets an attached appender with the specified name.
  24682. </summary>
  24683. <param name="name">The name of the appender to get.</param>
  24684. <returns>
  24685. The appender with the name specified, or <c>null</c> if no appender with the
  24686. specified name is found.
  24687. </returns>
  24688. <remarks>
  24689. <para>
  24690. Lookup an attached appender by name.
  24691. </para>
  24692. </remarks>
  24693. </member>
  24694. <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAllAppenders">
  24695. <summary>
  24696. Removes all attached appenders.
  24697. </summary>
  24698. <remarks>
  24699. <para>
  24700. Removes and closes all attached appenders
  24701. </para>
  24702. </remarks>
  24703. </member>
  24704. <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(log4net.Appender.IAppender)">
  24705. <summary>
  24706. Removes the specified appender from the list of attached appenders.
  24707. </summary>
  24708. <param name="appender">The appender to remove.</param>
  24709. <returns>The appender removed from the list</returns>
  24710. <remarks>
  24711. <para>
  24712. The appender removed is not closed.
  24713. If you are discarding the appender you must call
  24714. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  24715. </para>
  24716. </remarks>
  24717. </member>
  24718. <member name="M:log4net.Util.AppenderAttachedImpl.RemoveAppender(System.String)">
  24719. <summary>
  24720. Removes the appender with the specified name from the list of appenders.
  24721. </summary>
  24722. <param name="name">The name of the appender to remove.</param>
  24723. <returns>The appender removed from the list</returns>
  24724. <remarks>
  24725. <para>
  24726. The appender removed is not closed.
  24727. If you are discarding the appender you must call
  24728. <see cref="M:log4net.Appender.IAppender.Close"/> on the appender removed.
  24729. </para>
  24730. </remarks>
  24731. </member>
  24732. <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderList">
  24733. <summary>
  24734. List of appenders
  24735. </summary>
  24736. </member>
  24737. <member name="F:log4net.Util.AppenderAttachedImpl.m_appenderArray">
  24738. <summary>
  24739. Array of appenders, used to cache the m_appenderList
  24740. </summary>
  24741. </member>
  24742. <member name="F:log4net.Util.AppenderAttachedImpl.declaringType">
  24743. <summary>
  24744. The fully qualified type of the AppenderAttachedImpl class.
  24745. </summary>
  24746. <remarks>
  24747. Used by the internal logger to record the Type of the
  24748. log message.
  24749. </remarks>
  24750. </member>
  24751. <member name="T:log4net.Util.CompositeProperties">
  24752. <summary>
  24753. This class aggregates several PropertiesDictionary collections together.
  24754. </summary>
  24755. <remarks>
  24756. <para>
  24757. Provides a dictionary style lookup over an ordered list of
  24758. <see cref="T:log4net.Util.PropertiesDictionary"/> collections.
  24759. </para>
  24760. </remarks>
  24761. <author>Nicko Cadell</author>
  24762. </member>
  24763. <member name="M:log4net.Util.CompositeProperties.#ctor">
  24764. <summary>
  24765. Constructor
  24766. </summary>
  24767. <remarks>
  24768. <para>
  24769. Initializes a new instance of the <see cref="T:log4net.Util.CompositeProperties" /> class.
  24770. </para>
  24771. </remarks>
  24772. </member>
  24773. <member name="P:log4net.Util.CompositeProperties.Item(System.String)">
  24774. <summary>
  24775. Gets the value of a property
  24776. </summary>
  24777. <value>
  24778. The value for the property with the specified key
  24779. </value>
  24780. <remarks>
  24781. <para>
  24782. Looks up the value for the <paramref name="key" /> specified.
  24783. The <see cref="T:log4net.Util.PropertiesDictionary"/> collections are searched
  24784. in the order in which they were added to this collection. The value
  24785. returned is the value held by the first collection that contains
  24786. the specified key.
  24787. </para>
  24788. <para>
  24789. If none of the collections contain the specified key then
  24790. <c>null</c> is returned.
  24791. </para>
  24792. </remarks>
  24793. </member>
  24794. <member name="M:log4net.Util.CompositeProperties.Add(log4net.Util.ReadOnlyPropertiesDictionary)">
  24795. <summary>
  24796. Add a Properties Dictionary to this composite collection
  24797. </summary>
  24798. <param name="properties">the properties to add</param>
  24799. <remarks>
  24800. <para>
  24801. Properties dictionaries added first take precedence over dictionaries added
  24802. later.
  24803. </para>
  24804. </remarks>
  24805. </member>
  24806. <member name="M:log4net.Util.CompositeProperties.Flatten">
  24807. <summary>
  24808. Flatten this composite collection into a single properties dictionary
  24809. </summary>
  24810. <returns>the flattened dictionary</returns>
  24811. <remarks>
  24812. <para>
  24813. Reduces the collection of ordered dictionaries to a single dictionary
  24814. containing the resultant values for the keys.
  24815. </para>
  24816. </remarks>
  24817. </member>
  24818. <member name="T:log4net.Util.ContextPropertiesBase">
  24819. <summary>
  24820. Base class for Context Properties implementations
  24821. </summary>
  24822. <remarks>
  24823. <para>
  24824. This class defines a basic property get set accessor
  24825. </para>
  24826. </remarks>
  24827. <author>Nicko Cadell</author>
  24828. </member>
  24829. <member name="P:log4net.Util.ContextPropertiesBase.Item(System.String)">
  24830. <summary>
  24831. Gets or sets the value of a property
  24832. </summary>
  24833. <value>
  24834. The value for the property with the specified key
  24835. </value>
  24836. <remarks>
  24837. <para>
  24838. Gets or sets the value of a property
  24839. </para>
  24840. </remarks>
  24841. </member>
  24842. <member name="T:log4net.Util.ConverterInfo">
  24843. <summary>
  24844. Wrapper class used to map converter names to converter types
  24845. </summary>
  24846. <remarks>
  24847. <para>
  24848. Pattern converter info class used during configuration by custom
  24849. PatternString and PatternLayer converters.
  24850. </para>
  24851. </remarks>
  24852. </member>
  24853. <member name="M:log4net.Util.ConverterInfo.#ctor">
  24854. <summary>
  24855. default constructor
  24856. </summary>
  24857. </member>
  24858. <member name="P:log4net.Util.ConverterInfo.Name">
  24859. <summary>
  24860. Gets or sets the name of the conversion pattern
  24861. </summary>
  24862. <remarks>
  24863. <para>
  24864. The name of the pattern in the format string
  24865. </para>
  24866. </remarks>
  24867. </member>
  24868. <member name="P:log4net.Util.ConverterInfo.Type">
  24869. <summary>
  24870. Gets or sets the type of the converter
  24871. </summary>
  24872. <remarks>
  24873. <para>
  24874. The value specified must extend the
  24875. <see cref="T:log4net.Util.PatternConverter"/> type.
  24876. </para>
  24877. </remarks>
  24878. </member>
  24879. <member name="M:log4net.Util.ConverterInfo.AddProperty(log4net.Util.PropertyEntry)">
  24880. <summary>
  24881. </summary>
  24882. <param name="entry"></param>
  24883. </member>
  24884. <member name="P:log4net.Util.ConverterInfo.Properties">
  24885. <summary>
  24886. </summary>
  24887. </member>
  24888. <member name="T:log4net.Util.CountingQuietTextWriter">
  24889. <summary>
  24890. Subclass of <see cref="T:log4net.Util.QuietTextWriter"/> that maintains a count of
  24891. the number of bytes written.
  24892. </summary>
  24893. <remarks>
  24894. <para>
  24895. This writer counts the number of bytes written.
  24896. </para>
  24897. </remarks>
  24898. <author>Nicko Cadell</author>
  24899. <author>Gert Driesen</author>
  24900. </member>
  24901. <member name="M:log4net.Util.CountingQuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
  24902. <summary>
  24903. Constructor
  24904. </summary>
  24905. <param name="writer">The <see cref="T:System.IO.TextWriter" /> to actually write to.</param>
  24906. <param name="errorHandler">The <see cref="T:log4net.Core.IErrorHandler" /> to report errors to.</param>
  24907. <remarks>
  24908. <para>
  24909. Creates a new instance of the <see cref="T:log4net.Util.CountingQuietTextWriter" /> class
  24910. with the specified <see cref="T:System.IO.TextWriter" /> and <see cref="T:log4net.Core.IErrorHandler" />.
  24911. </para>
  24912. </remarks>
  24913. </member>
  24914. <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char)">
  24915. <summary>
  24916. Writes a character to the underlying writer and counts the number of bytes written.
  24917. </summary>
  24918. <param name="value">the char to write</param>
  24919. <remarks>
  24920. <para>
  24921. Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
  24922. the number of bytes written.
  24923. </para>
  24924. </remarks>
  24925. </member>
  24926. <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
  24927. <summary>
  24928. Writes a buffer to the underlying writer and counts the number of bytes written.
  24929. </summary>
  24930. <param name="buffer">the buffer to write</param>
  24931. <param name="index">the start index to write from</param>
  24932. <param name="count">the number of characters to write</param>
  24933. <remarks>
  24934. <para>
  24935. Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
  24936. the number of bytes written.
  24937. </para>
  24938. </remarks>
  24939. </member>
  24940. <member name="M:log4net.Util.CountingQuietTextWriter.Write(System.String)">
  24941. <summary>
  24942. Writes a string to the output and counts the number of bytes written.
  24943. </summary>
  24944. <param name="str">The string data to write to the output.</param>
  24945. <remarks>
  24946. <para>
  24947. Overrides implementation of <see cref="T:log4net.Util.QuietTextWriter"/>. Counts
  24948. the number of bytes written.
  24949. </para>
  24950. </remarks>
  24951. </member>
  24952. <member name="P:log4net.Util.CountingQuietTextWriter.Count">
  24953. <summary>
  24954. Gets or sets the total number of bytes written.
  24955. </summary>
  24956. <value>
  24957. The total number of bytes written.
  24958. </value>
  24959. <remarks>
  24960. <para>
  24961. Gets or sets the total number of bytes written.
  24962. </para>
  24963. </remarks>
  24964. </member>
  24965. <member name="F:log4net.Util.CountingQuietTextWriter.m_countBytes">
  24966. <summary>
  24967. Total number of bytes written.
  24968. </summary>
  24969. </member>
  24970. <member name="T:log4net.Util.CyclicBuffer">
  24971. <summary>
  24972. A fixed size rolling buffer of logging events.
  24973. </summary>
  24974. <remarks>
  24975. <para>
  24976. An array backed fixed size leaky bucket.
  24977. </para>
  24978. </remarks>
  24979. <author>Nicko Cadell</author>
  24980. <author>Gert Driesen</author>
  24981. </member>
  24982. <member name="M:log4net.Util.CyclicBuffer.#ctor(System.Int32)">
  24983. <summary>
  24984. Constructor
  24985. </summary>
  24986. <param name="maxSize">The maximum number of logging events in the buffer.</param>
  24987. <remarks>
  24988. <para>
  24989. Initializes a new instance of the <see cref="T:log4net.Util.CyclicBuffer" /> class with
  24990. the specified maximum number of buffered logging events.
  24991. </para>
  24992. </remarks>
  24993. <exception cref="T:System.ArgumentOutOfRangeException">The <paramref name="maxSize"/> argument is not a positive integer.</exception>
  24994. </member>
  24995. <member name="M:log4net.Util.CyclicBuffer.Append(log4net.Core.LoggingEvent)">
  24996. <summary>
  24997. Appends a <paramref name="loggingEvent"/> to the buffer.
  24998. </summary>
  24999. <param name="loggingEvent">The event to append to the buffer.</param>
  25000. <returns>The event discarded from the buffer, if the buffer is full, otherwise <c>null</c>.</returns>
  25001. <remarks>
  25002. <para>
  25003. Append an event to the buffer. If the buffer still contains free space then
  25004. <c>null</c> is returned. If the buffer is full then an event will be dropped
  25005. to make space for the new event, the event dropped is returned.
  25006. </para>
  25007. </remarks>
  25008. </member>
  25009. <member name="M:log4net.Util.CyclicBuffer.PopOldest">
  25010. <summary>
  25011. Get and remove the oldest event in the buffer.
  25012. </summary>
  25013. <returns>The oldest logging event in the buffer</returns>
  25014. <remarks>
  25015. <para>
  25016. Gets the oldest (first) logging event in the buffer and removes it
  25017. from the buffer.
  25018. </para>
  25019. </remarks>
  25020. </member>
  25021. <member name="M:log4net.Util.CyclicBuffer.PopAll">
  25022. <summary>
  25023. Pops all the logging events from the buffer into an array.
  25024. </summary>
  25025. <returns>An array of all the logging events in the buffer.</returns>
  25026. <remarks>
  25027. <para>
  25028. Get all the events in the buffer and clear the buffer.
  25029. </para>
  25030. </remarks>
  25031. </member>
  25032. <member name="M:log4net.Util.CyclicBuffer.Clear">
  25033. <summary>
  25034. Clear the buffer
  25035. </summary>
  25036. <remarks>
  25037. <para>
  25038. Clear the buffer of all events. The events in the buffer are lost.
  25039. </para>
  25040. </remarks>
  25041. </member>
  25042. <member name="P:log4net.Util.CyclicBuffer.Item(System.Int32)">
  25043. <summary>
  25044. Gets the <paramref name="i"/>th oldest event currently in the buffer.
  25045. </summary>
  25046. <value>The <paramref name="i"/>th oldest event currently in the buffer.</value>
  25047. <remarks>
  25048. <para>
  25049. If <paramref name="i"/> is outside the range 0 to the number of events
  25050. currently in the buffer, then <c>null</c> is returned.
  25051. </para>
  25052. </remarks>
  25053. </member>
  25054. <member name="P:log4net.Util.CyclicBuffer.MaxSize">
  25055. <summary>
  25056. Gets the maximum size of the buffer.
  25057. </summary>
  25058. <value>The maximum size of the buffer.</value>
  25059. <remarks>
  25060. <para>
  25061. Gets the maximum size of the buffer
  25062. </para>
  25063. </remarks>
  25064. </member>
  25065. <member name="P:log4net.Util.CyclicBuffer.Length">
  25066. <summary>
  25067. Gets the number of logging events in the buffer.
  25068. </summary>
  25069. <value>The number of logging events in the buffer.</value>
  25070. <remarks>
  25071. <para>
  25072. This number is guaranteed to be in the range 0 to <see cref="P:log4net.Util.CyclicBuffer.MaxSize"/>
  25073. (inclusive).
  25074. </para>
  25075. </remarks>
  25076. </member>
  25077. <member name="T:log4net.Util.EmptyCollection">
  25078. <summary>
  25079. An always empty <see cref="T:System.Collections.ICollection"/>.
  25080. </summary>
  25081. <remarks>
  25082. <para>
  25083. A singleton implementation of the <see cref="T:System.Collections.ICollection"/>
  25084. interface that always represents an empty collection.
  25085. </para>
  25086. </remarks>
  25087. <author>Nicko Cadell</author>
  25088. <author>Gert Driesen</author>
  25089. </member>
  25090. <member name="M:log4net.Util.EmptyCollection.#ctor">
  25091. <summary>
  25092. Initializes a new instance of the <see cref="T:log4net.Util.EmptyCollection" /> class.
  25093. </summary>
  25094. <remarks>
  25095. <para>
  25096. Uses a private access modifier to enforce the singleton pattern.
  25097. </para>
  25098. </remarks>
  25099. </member>
  25100. <member name="P:log4net.Util.EmptyCollection.Instance">
  25101. <summary>
  25102. Gets the singleton instance of the empty collection.
  25103. </summary>
  25104. <returns>The singleton instance of the empty collection.</returns>
  25105. <remarks>
  25106. <para>
  25107. Gets the singleton instance of the empty collection.
  25108. </para>
  25109. </remarks>
  25110. </member>
  25111. <member name="M:log4net.Util.EmptyCollection.CopyTo(System.Array,System.Int32)">
  25112. <summary>
  25113. Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an
  25114. <see cref="T:System.Array"/>, starting at a particular Array index.
  25115. </summary>
  25116. <param name="array">The one-dimensional <see cref="T:System.Array"/>
  25117. that is the destination of the elements copied from
  25118. <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based
  25119. indexing.</param>
  25120. <param name="index">The zero-based index in array at which
  25121. copying begins.</param>
  25122. <remarks>
  25123. <para>
  25124. As the collection is empty no values are copied into the array.
  25125. </para>
  25126. </remarks>
  25127. </member>
  25128. <member name="P:log4net.Util.EmptyCollection.IsSynchronized">
  25129. <summary>
  25130. Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
  25131. </summary>
  25132. <value>
  25133. <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
  25134. </value>
  25135. <remarks>
  25136. <para>
  25137. For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <c>true</c>.
  25138. </para>
  25139. </remarks>
  25140. </member>
  25141. <member name="P:log4net.Util.EmptyCollection.Count">
  25142. <summary>
  25143. Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
  25144. </summary>
  25145. <value>
  25146. The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
  25147. </value>
  25148. <remarks>
  25149. <para>
  25150. As the collection is empty the <see cref="P:log4net.Util.EmptyCollection.Count"/> is always <c>0</c>.
  25151. </para>
  25152. </remarks>
  25153. </member>
  25154. <member name="P:log4net.Util.EmptyCollection.SyncRoot">
  25155. <summary>
  25156. Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
  25157. </summary>
  25158. <value>
  25159. An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
  25160. </value>
  25161. <remarks>
  25162. <para>
  25163. As the collection is empty and thread safe and synchronized this instance is also
  25164. the <see cref="P:log4net.Util.EmptyCollection.SyncRoot"/> object.
  25165. </para>
  25166. </remarks>
  25167. </member>
  25168. <member name="M:log4net.Util.EmptyCollection.GetEnumerator">
  25169. <summary>
  25170. Returns an enumerator that can iterate through a collection.
  25171. </summary>
  25172. <returns>
  25173. An <see cref="T:System.Collections.IEnumerator"/> that can be used to
  25174. iterate through the collection.
  25175. </returns>
  25176. <remarks>
  25177. <para>
  25178. As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
  25179. </para>
  25180. </remarks>
  25181. </member>
  25182. <member name="F:log4net.Util.EmptyCollection.s_instance">
  25183. <summary>
  25184. The singleton instance of the empty collection.
  25185. </summary>
  25186. </member>
  25187. <member name="T:log4net.Util.EmptyDictionary">
  25188. <summary>
  25189. An always empty <see cref="T:System.Collections.IDictionary"/>.
  25190. </summary>
  25191. <remarks>
  25192. <para>
  25193. A singleton implementation of the <see cref="T:System.Collections.IDictionary"/>
  25194. interface that always represents an empty collection.
  25195. </para>
  25196. </remarks>
  25197. <author>Nicko Cadell</author>
  25198. <author>Gert Driesen</author>
  25199. </member>
  25200. <member name="M:log4net.Util.EmptyDictionary.#ctor">
  25201. <summary>
  25202. Initializes a new instance of the <see cref="T:log4net.Util.EmptyDictionary" /> class.
  25203. </summary>
  25204. <remarks>
  25205. <para>
  25206. Uses a private access modifier to enforce the singleton pattern.
  25207. </para>
  25208. </remarks>
  25209. </member>
  25210. <member name="P:log4net.Util.EmptyDictionary.Instance">
  25211. <summary>
  25212. Gets the singleton instance of the <see cref="T:log4net.Util.EmptyDictionary" />.
  25213. </summary>
  25214. <returns>The singleton instance of the <see cref="T:log4net.Util.EmptyDictionary" />.</returns>
  25215. <remarks>
  25216. <para>
  25217. Gets the singleton instance of the <see cref="T:log4net.Util.EmptyDictionary" />.
  25218. </para>
  25219. </remarks>
  25220. </member>
  25221. <member name="M:log4net.Util.EmptyDictionary.CopyTo(System.Array,System.Int32)">
  25222. <summary>
  25223. Copies the elements of the <see cref="T:System.Collections.ICollection"/> to an
  25224. <see cref="T:System.Array"/>, starting at a particular Array index.
  25225. </summary>
  25226. <param name="array">The one-dimensional <see cref="T:System.Array"/>
  25227. that is the destination of the elements copied from
  25228. <see cref="T:System.Collections.ICollection"/>. The Array must have zero-based
  25229. indexing.</param>
  25230. <param name="index">The zero-based index in array at which
  25231. copying begins.</param>
  25232. <remarks>
  25233. <para>
  25234. As the collection is empty no values are copied into the array.
  25235. </para>
  25236. </remarks>
  25237. </member>
  25238. <member name="P:log4net.Util.EmptyDictionary.IsSynchronized">
  25239. <summary>
  25240. Gets a value indicating if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe).
  25241. </summary>
  25242. <value>
  25243. <b>true</b> if access to the <see cref="T:System.Collections.ICollection"/> is synchronized (thread-safe); otherwise, <b>false</b>.
  25244. </value>
  25245. <remarks>
  25246. <para>
  25247. For the <see cref="T:log4net.Util.EmptyCollection"/> this property is always <b>true</b>.
  25248. </para>
  25249. </remarks>
  25250. </member>
  25251. <member name="P:log4net.Util.EmptyDictionary.Count">
  25252. <summary>
  25253. Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"/>
  25254. </summary>
  25255. <value>
  25256. The number of elements contained in the <see cref="T:System.Collections.ICollection"/>.
  25257. </value>
  25258. <remarks>
  25259. <para>
  25260. As the collection is empty the <see cref="P:log4net.Util.EmptyDictionary.Count"/> is always <c>0</c>.
  25261. </para>
  25262. </remarks>
  25263. </member>
  25264. <member name="P:log4net.Util.EmptyDictionary.SyncRoot">
  25265. <summary>
  25266. Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
  25267. </summary>
  25268. <value>
  25269. An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"/>.
  25270. </value>
  25271. <remarks>
  25272. <para>
  25273. As the collection is empty and thread safe and synchronized this instance is also
  25274. the <see cref="P:log4net.Util.EmptyDictionary.SyncRoot"/> object.
  25275. </para>
  25276. </remarks>
  25277. </member>
  25278. <member name="M:log4net.Util.EmptyDictionary.System#Collections#IEnumerable#GetEnumerator">
  25279. <summary>
  25280. Returns an enumerator that can iterate through a collection.
  25281. </summary>
  25282. <returns>
  25283. An <see cref="T:System.Collections.IEnumerator"/> that can be used to
  25284. iterate through the collection.
  25285. </returns>
  25286. <remarks>
  25287. <para>
  25288. As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
  25289. </para>
  25290. </remarks>
  25291. </member>
  25292. <member name="M:log4net.Util.EmptyDictionary.Add(System.Object,System.Object)">
  25293. <summary>
  25294. Adds an element with the provided key and value to the
  25295. <see cref="T:log4net.Util.EmptyDictionary" />.
  25296. </summary>
  25297. <param name="key">The <see cref="T:System.Object" /> to use as the key of the element to add.</param>
  25298. <param name="value">The <see cref="T:System.Object" /> to use as the value of the element to add.</param>
  25299. <remarks>
  25300. <para>
  25301. As the collection is empty no new values can be added. A <see cref="T:System.InvalidOperationException"/>
  25302. is thrown if this method is called.
  25303. </para>
  25304. </remarks>
  25305. <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
  25306. </member>
  25307. <member name="M:log4net.Util.EmptyDictionary.Clear">
  25308. <summary>
  25309. Removes all elements from the <see cref="T:log4net.Util.EmptyDictionary" />.
  25310. </summary>
  25311. <remarks>
  25312. <para>
  25313. As the collection is empty no values can be removed. A <see cref="T:System.InvalidOperationException"/>
  25314. is thrown if this method is called.
  25315. </para>
  25316. </remarks>
  25317. <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
  25318. </member>
  25319. <member name="M:log4net.Util.EmptyDictionary.Contains(System.Object)">
  25320. <summary>
  25321. Determines whether the <see cref="T:log4net.Util.EmptyDictionary" /> contains an element
  25322. with the specified key.
  25323. </summary>
  25324. <param name="key">The key to locate in the <see cref="T:log4net.Util.EmptyDictionary" />.</param>
  25325. <returns><c>false</c></returns>
  25326. <remarks>
  25327. <para>
  25328. As the collection is empty the <see cref="M:log4net.Util.EmptyDictionary.Contains(System.Object)"/> method always returns <c>false</c>.
  25329. </para>
  25330. </remarks>
  25331. </member>
  25332. <member name="M:log4net.Util.EmptyDictionary.GetEnumerator">
  25333. <summary>
  25334. Returns an enumerator that can iterate through a collection.
  25335. </summary>
  25336. <returns>
  25337. An <see cref="T:System.Collections.IEnumerator"/> that can be used to
  25338. iterate through the collection.
  25339. </returns>
  25340. <remarks>
  25341. <para>
  25342. As the collection is empty a <see cref="T:log4net.Util.NullEnumerator"/> is returned.
  25343. </para>
  25344. </remarks>
  25345. </member>
  25346. <member name="M:log4net.Util.EmptyDictionary.Remove(System.Object)">
  25347. <summary>
  25348. Removes the element with the specified key from the <see cref="T:log4net.Util.EmptyDictionary" />.
  25349. </summary>
  25350. <param name="key">The key of the element to remove.</param>
  25351. <remarks>
  25352. <para>
  25353. As the collection is empty no values can be removed. A <see cref="T:System.InvalidOperationException"/>
  25354. is thrown if this method is called.
  25355. </para>
  25356. </remarks>
  25357. <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
  25358. </member>
  25359. <member name="P:log4net.Util.EmptyDictionary.IsFixedSize">
  25360. <summary>
  25361. Gets a value indicating whether the <see cref="T:log4net.Util.EmptyDictionary" /> has a fixed size.
  25362. </summary>
  25363. <value><c>true</c></value>
  25364. <remarks>
  25365. <para>
  25366. As the collection is empty <see cref="P:log4net.Util.EmptyDictionary.IsFixedSize"/> always returns <c>true</c>.
  25367. </para>
  25368. </remarks>
  25369. </member>
  25370. <member name="P:log4net.Util.EmptyDictionary.IsReadOnly">
  25371. <summary>
  25372. Gets a value indicating whether the <see cref="T:log4net.Util.EmptyDictionary" /> is read-only.
  25373. </summary>
  25374. <value><c>true</c></value>
  25375. <remarks>
  25376. <para>
  25377. As the collection is empty <see cref="P:log4net.Util.EmptyDictionary.IsReadOnly"/> always returns <c>true</c>.
  25378. </para>
  25379. </remarks>
  25380. </member>
  25381. <member name="P:log4net.Util.EmptyDictionary.Keys">
  25382. <summary>
  25383. Gets an <see cref="T:System.Collections.ICollection" /> containing the keys of the <see cref="T:log4net.Util.EmptyDictionary" />.
  25384. </summary>
  25385. <value>An <see cref="T:System.Collections.ICollection" /> containing the keys of the <see cref="T:log4net.Util.EmptyDictionary" />.</value>
  25386. <remarks>
  25387. <para>
  25388. As the collection is empty a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
  25389. </para>
  25390. </remarks>
  25391. </member>
  25392. <member name="P:log4net.Util.EmptyDictionary.Values">
  25393. <summary>
  25394. Gets an <see cref="T:System.Collections.ICollection" /> containing the values of the <see cref="T:log4net.Util.EmptyDictionary" />.
  25395. </summary>
  25396. <value>An <see cref="T:System.Collections.ICollection" /> containing the values of the <see cref="T:log4net.Util.EmptyDictionary" />.</value>
  25397. <remarks>
  25398. <para>
  25399. As the collection is empty a <see cref="T:log4net.Util.EmptyCollection"/> is returned.
  25400. </para>
  25401. </remarks>
  25402. </member>
  25403. <member name="P:log4net.Util.EmptyDictionary.Item(System.Object)">
  25404. <summary>
  25405. Gets or sets the element with the specified key.
  25406. </summary>
  25407. <param name="key">The key of the element to get or set.</param>
  25408. <value><c>null</c></value>
  25409. <remarks>
  25410. <para>
  25411. As the collection is empty no values can be looked up or stored.
  25412. If the index getter is called then <c>null</c> is returned.
  25413. A <see cref="T:System.InvalidOperationException"/> is thrown if the setter is called.
  25414. </para>
  25415. </remarks>
  25416. <exception cref="T:System.InvalidOperationException">This dictionary is always empty and cannot be modified.</exception>
  25417. </member>
  25418. <member name="F:log4net.Util.EmptyDictionary.s_instance">
  25419. <summary>
  25420. The singleton instance of the empty dictionary.
  25421. </summary>
  25422. </member>
  25423. <member name="T:log4net.Util.FormattingInfo">
  25424. <summary>
  25425. Contain the information obtained when parsing formatting modifiers
  25426. in conversion modifiers.
  25427. </summary>
  25428. <remarks>
  25429. <para>
  25430. Holds the formatting information extracted from the format string by
  25431. the <see cref="T:log4net.Util.PatternParser"/>. This is used by the <see cref="T:log4net.Util.PatternConverter"/>
  25432. objects when rendering the output.
  25433. </para>
  25434. </remarks>
  25435. <author>Nicko Cadell</author>
  25436. <author>Gert Driesen</author>
  25437. </member>
  25438. <member name="M:log4net.Util.FormattingInfo.#ctor">
  25439. <summary>
  25440. Defaut Constructor
  25441. </summary>
  25442. <remarks>
  25443. <para>
  25444. Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo" /> class.
  25445. </para>
  25446. </remarks>
  25447. </member>
  25448. <member name="M:log4net.Util.FormattingInfo.#ctor(System.Int32,System.Int32,System.Boolean)">
  25449. <summary>
  25450. Constructor
  25451. </summary>
  25452. <remarks>
  25453. <para>
  25454. Initializes a new instance of the <see cref="T:log4net.Util.FormattingInfo" /> class
  25455. with the specified parameters.
  25456. </para>
  25457. </remarks>
  25458. </member>
  25459. <member name="P:log4net.Util.FormattingInfo.Min">
  25460. <summary>
  25461. Gets or sets the minimum value.
  25462. </summary>
  25463. <value>
  25464. The minimum value.
  25465. </value>
  25466. <remarks>
  25467. <para>
  25468. Gets or sets the minimum value.
  25469. </para>
  25470. </remarks>
  25471. </member>
  25472. <member name="P:log4net.Util.FormattingInfo.Max">
  25473. <summary>
  25474. Gets or sets the maximum value.
  25475. </summary>
  25476. <value>
  25477. The maximum value.
  25478. </value>
  25479. <remarks>
  25480. <para>
  25481. Gets or sets the maximum value.
  25482. </para>
  25483. </remarks>
  25484. </member>
  25485. <member name="P:log4net.Util.FormattingInfo.LeftAlign">
  25486. <summary>
  25487. Gets or sets a flag indicating whether left align is enabled
  25488. or not.
  25489. </summary>
  25490. <value>
  25491. A flag indicating whether left align is enabled or not.
  25492. </value>
  25493. <remarks>
  25494. <para>
  25495. Gets or sets a flag indicating whether left align is enabled or not.
  25496. </para>
  25497. </remarks>
  25498. </member>
  25499. <member name="T:log4net.Util.GlobalContextProperties">
  25500. <summary>
  25501. Implementation of Properties collection for the <see cref="T:log4net.GlobalContext"/>
  25502. </summary>
  25503. <remarks>
  25504. <para>
  25505. This class implements a properties collection that is thread safe and supports both
  25506. storing properties and capturing a read only copy of the current propertied.
  25507. </para>
  25508. <para>
  25509. This class is optimized to the scenario where the properties are read frequently
  25510. and are modified infrequently.
  25511. </para>
  25512. </remarks>
  25513. <author>Nicko Cadell</author>
  25514. </member>
  25515. <member name="F:log4net.Util.GlobalContextProperties.m_readOnlyProperties">
  25516. <summary>
  25517. The read only copy of the properties.
  25518. </summary>
  25519. <remarks>
  25520. <para>
  25521. This variable is declared <c>volatile</c> to prevent the compiler and JIT from
  25522. reordering reads and writes of this thread performed on different threads.
  25523. </para>
  25524. </remarks>
  25525. </member>
  25526. <member name="F:log4net.Util.GlobalContextProperties.m_syncRoot">
  25527. <summary>
  25528. Lock object used to synchronize updates within this instance
  25529. </summary>
  25530. </member>
  25531. <member name="M:log4net.Util.GlobalContextProperties.#ctor">
  25532. <summary>
  25533. Constructor
  25534. </summary>
  25535. <remarks>
  25536. <para>
  25537. Initializes a new instance of the <see cref="T:log4net.Util.GlobalContextProperties" /> class.
  25538. </para>
  25539. </remarks>
  25540. </member>
  25541. <member name="P:log4net.Util.GlobalContextProperties.Item(System.String)">
  25542. <summary>
  25543. Gets or sets the value of a property
  25544. </summary>
  25545. <value>
  25546. The value for the property with the specified key
  25547. </value>
  25548. <remarks>
  25549. <para>
  25550. Reading the value for a key is faster than setting the value.
  25551. When the value is written a new read only copy of
  25552. the properties is created.
  25553. </para>
  25554. </remarks>
  25555. </member>
  25556. <member name="M:log4net.Util.GlobalContextProperties.Remove(System.String)">
  25557. <summary>
  25558. Remove a property from the global context
  25559. </summary>
  25560. <param name="key">the key for the entry to remove</param>
  25561. <remarks>
  25562. <para>
  25563. Removing an entry from the global context properties is relatively expensive compared
  25564. with reading a value.
  25565. </para>
  25566. </remarks>
  25567. </member>
  25568. <member name="M:log4net.Util.GlobalContextProperties.Clear">
  25569. <summary>
  25570. Clear the global context properties
  25571. </summary>
  25572. </member>
  25573. <member name="M:log4net.Util.GlobalContextProperties.GetReadOnlyProperties">
  25574. <summary>
  25575. Get a readonly immutable copy of the properties
  25576. </summary>
  25577. <returns>the current global context properties</returns>
  25578. <remarks>
  25579. <para>
  25580. This implementation is fast because the GlobalContextProperties class
  25581. stores a readonly copy of the properties.
  25582. </para>
  25583. </remarks>
  25584. </member>
  25585. <member name="T:log4net.Util.ILogExtensions">
  25586. <summary>
  25587. The static class ILogExtensions contains a set of widely used
  25588. methods that ease the interaction with the ILog interface implementations.
  25589. </summary>
  25590. <remarks>
  25591. <para>
  25592. This class contains methods for logging at different levels and checks the
  25593. properties for determining if those logging levels are enabled in the current
  25594. configuration.
  25595. </para>
  25596. </remarks>
  25597. <example>Simple example of logging messages
  25598. <code lang="C#">
  25599. using log4net.Util;
  25600. ILog log = LogManager.GetLogger("application-log");
  25601. log.InfoExt("Application Start");
  25602. log.DebugExt("This is a debug message");
  25603. </code>
  25604. </example>
  25605. </member>
  25606. <member name="F:log4net.Util.ILogExtensions.declaringType">
  25607. <summary>
  25608. The fully qualified type of the Logger class.
  25609. </summary>
  25610. </member>
  25611. <member name="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Func{System.Object})">
  25612. <summary>
  25613. Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
  25614. </summary>
  25615. <param name="logger">The logger on which the message is logged.</param>
  25616. <param name="callback">The lambda expression that gets the object to log.</param>
  25617. <remarks>
  25618. <para>
  25619. This method first checks if this logger is <c>INFO</c>
  25620. enabled by reading the value <seealso cref="P:log4net.ILog.IsDebugEnabled"/> property.
  25621. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  25622. implementation. If this logger is <c>INFO</c> enabled, then it converts
  25623. the message object (retrieved by invocation of the provided callback) to a
  25624. string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
  25625. It then proceeds to call all the registered appenders in this logger
  25626. and also higher in the hierarchy depending on the value of
  25627. the additivity flag.
  25628. </para>
  25629. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  25630. to this method will print the name of the <see cref="T:System.Exception"/>
  25631. but no stack trace. To print a stack trace use the
  25632. <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
  25633. </para>
  25634. </remarks>
  25635. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25636. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25637. </member>
  25638. <member name="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Func{System.Object},System.Exception)">
  25639. <summary>
  25640. Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level including
  25641. the stack trace of the <see cref="T:System.Exception"/> passed
  25642. as a parameter.
  25643. </summary>
  25644. <param name="logger">The logger on which the message is logged.</param>
  25645. <param name="callback">The lambda expression that gets the object to log.</param>
  25646. <param name="exception">The exception to log, including its stack trace.</param>
  25647. <remarks>
  25648. <para>
  25649. See the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object)"/> form for more detailed information.
  25650. </para>
  25651. </remarks>
  25652. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25653. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25654. </member>
  25655. <member name="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object)">
  25656. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.</overloads> //TODO
  25657. <summary>
  25658. Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level.
  25659. </summary>
  25660. <param name="logger">The logger on which the message is logged.</param>
  25661. <param name="message">The message object to log.</param>
  25662. <remarks>
  25663. <para>
  25664. This method first checks if this logger is <c>INFO</c>
  25665. enabled by reading the value <seealso cref="P:log4net.ILog.IsDebugEnabled"/> property.
  25666. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  25667. implementation. If this logger is <c>INFO</c> enabled, then it converts
  25668. the message object (passed as parameter) to a string by invoking the appropriate
  25669. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  25670. proceeds to call all the registered appenders in this logger
  25671. and also higher in the hierarchy depending on the value of
  25672. the additivity flag.
  25673. </para>
  25674. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  25675. to this method will print the name of the <see cref="T:System.Exception"/>
  25676. but no stack trace. To print a stack trace use the
  25677. <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
  25678. </para>
  25679. </remarks>
  25680. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25681. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25682. </member>
  25683. <member name="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)">
  25684. <summary>
  25685. Log a message object with the <see cref="F:log4net.Core.Level.Debug"/> level including
  25686. the stack trace of the <see cref="T:System.Exception"/> passed
  25687. as a parameter.
  25688. </summary>
  25689. <param name="logger">The logger on which the message is logged.</param>
  25690. <param name="message">The message object to log.</param>
  25691. <param name="exception">The exception to log, including its stack trace.</param>
  25692. <remarks>
  25693. <para>
  25694. See the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object)"/> form for more detailed information.
  25695. </para>
  25696. </remarks>
  25697. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25698. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25699. </member>
  25700. <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.String,System.Object)">
  25701. <summary>
  25702. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  25703. </summary>
  25704. <param name="logger">The logger on which the message is logged.</param>
  25705. <param name="format">A String containing zero or more format items</param>
  25706. <param name="arg0">An Object to format</param>
  25707. <remarks>
  25708. <para>
  25709. The message is formatted using the <c>String.Format</c> method. See
  25710. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25711. of the formatting.
  25712. </para>
  25713. <para>
  25714. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25715. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
  25716. methods instead.
  25717. </para>
  25718. </remarks>
  25719. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25720. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25721. </member>
  25722. <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.String,System.Object[])">
  25723. <summary>
  25724. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  25725. </summary>
  25726. <param name="logger">The logger on which the message is logged.</param>
  25727. <param name="format">A String containing zero or more format items</param>
  25728. <param name="args">An Object array containing zero or more objects to format</param>
  25729. <remarks>
  25730. <para>
  25731. The message is formatted using the <c>String.Format</c> method. See
  25732. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25733. of the formatting.
  25734. </para>
  25735. <para>
  25736. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25737. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
  25738. methods instead.
  25739. </para>
  25740. </remarks>
  25741. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25742. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25743. </member>
  25744. <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
  25745. <summary>
  25746. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  25747. </summary>
  25748. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  25749. <param name="logger">The logger on which the message is logged.</param>
  25750. <param name="format">A String containing zero or more format items</param>
  25751. <param name="args">An Object array containing zero or more objects to format</param>
  25752. <remarks>
  25753. <para>
  25754. The message is formatted using the <c>String.Format</c> method. See
  25755. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25756. of the formatting.
  25757. </para>
  25758. <para>
  25759. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25760. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
  25761. methods instead.
  25762. </para>
  25763. </remarks>
  25764. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25765. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25766. </member>
  25767. <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
  25768. <summary>
  25769. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  25770. </summary>
  25771. <param name="logger">The logger on which the message is logged.</param>
  25772. <param name="format">A String containing zero or more format items</param>
  25773. <param name="arg0">An Object to format</param>
  25774. <param name="arg1">An Object to format</param>
  25775. <remarks>
  25776. <para>
  25777. The message is formatted using the <c>String.Format</c> method. See
  25778. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25779. of the formatting.
  25780. </para>
  25781. <para>
  25782. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25783. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
  25784. methods instead.
  25785. </para>
  25786. </remarks>
  25787. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25788. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25789. </member>
  25790. <member name="M:log4net.Util.ILogExtensions.DebugFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
  25791. <summary>
  25792. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Debug"/> level.
  25793. </summary>
  25794. <param name="logger">The logger on which the message is logged.</param>
  25795. <param name="format">A String containing zero or more format items</param>
  25796. <param name="arg0">An Object to format</param>
  25797. <param name="arg1">An Object to format</param>
  25798. <param name="arg2">An Object to format</param>
  25799. <remarks>
  25800. <para>
  25801. The message is formatted using the <c>String.Format</c> method. See
  25802. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25803. of the formatting.
  25804. </para>
  25805. <para>
  25806. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25807. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.DebugExt(log4net.ILog,System.Object,System.Exception)"/>
  25808. methods instead.
  25809. </para>
  25810. </remarks>
  25811. <seealso cref="M:log4net.ILog.Debug(System.Object)"/>
  25812. <seealso cref="P:log4net.ILog.IsDebugEnabled"/>
  25813. </member>
  25814. <member name="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Func{System.Object})">
  25815. <summary>
  25816. Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
  25817. </summary>
  25818. <param name="logger">The logger on which the message is logged.</param>
  25819. <param name="callback">The lambda expression that gets the object to log.</param>
  25820. <remarks>
  25821. <para>
  25822. This method first checks if this logger is <c>INFO</c>
  25823. enabled by reading the value <seealso cref="P:log4net.ILog.IsInfoEnabled"/> property.
  25824. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  25825. implementation. If this logger is <c>INFO</c> enabled, then it converts
  25826. the message object (retrieved by invocation of the provided callback) to a
  25827. string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
  25828. It then proceeds to call all the registered appenders in this logger
  25829. and also higher in the hierarchy depending on the value of
  25830. the additivity flag.
  25831. </para>
  25832. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  25833. to this method will print the name of the <see cref="T:System.Exception"/>
  25834. but no stack trace. To print a stack trace use the
  25835. <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
  25836. </para>
  25837. </remarks>
  25838. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  25839. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  25840. </member>
  25841. <member name="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Func{System.Object},System.Exception)">
  25842. <summary>
  25843. Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level including
  25844. the stack trace of the <see cref="T:System.Exception"/> passed
  25845. as a parameter.
  25846. </summary>
  25847. <param name="logger">The logger on which the message is logged.</param>
  25848. <param name="callback">The lambda expression that gets the object to log.</param>
  25849. <param name="exception">The exception to log, including its stack trace.</param>
  25850. <remarks>
  25851. <para>
  25852. See the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object)"/> form for more detailed information.
  25853. </para>
  25854. </remarks>
  25855. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  25856. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  25857. </member>
  25858. <member name="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object)">
  25859. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.</overloads> //TODO
  25860. <summary>
  25861. Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level.
  25862. </summary>
  25863. <param name="logger">The logger on which the message is logged.</param>
  25864. <param name="message">The message object to log.</param>
  25865. <remarks>
  25866. <para>
  25867. This method first checks if this logger is <c>INFO</c>
  25868. enabled by reading the value <seealso cref="P:log4net.ILog.IsInfoEnabled"/> property.
  25869. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  25870. implementation. If this logger is <c>INFO</c> enabled, then it converts
  25871. the message object (passed as parameter) to a string by invoking the appropriate
  25872. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  25873. proceeds to call all the registered appenders in this logger
  25874. and also higher in the hierarchy depending on the value of
  25875. the additivity flag.
  25876. </para>
  25877. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  25878. to this method will print the name of the <see cref="T:System.Exception"/>
  25879. but no stack trace. To print a stack trace use the
  25880. <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
  25881. </para>
  25882. </remarks>
  25883. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  25884. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  25885. </member>
  25886. <member name="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)">
  25887. <summary>
  25888. Log a message object with the <see cref="F:log4net.Core.Level.Info"/> level including
  25889. the stack trace of the <see cref="T:System.Exception"/> passed
  25890. as a parameter.
  25891. </summary>
  25892. <param name="logger">The logger on which the message is logged.</param>
  25893. <param name="message">The message object to log.</param>
  25894. <param name="exception">The exception to log, including its stack trace.</param>
  25895. <remarks>
  25896. <para>
  25897. See the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object)"/> form for more detailed information.
  25898. </para>
  25899. </remarks>
  25900. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  25901. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  25902. </member>
  25903. <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.String,System.Object)">
  25904. <summary>
  25905. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  25906. </summary>
  25907. <param name="logger">The logger on which the message is logged.</param>
  25908. <param name="format">A String containing zero or more format items</param>
  25909. <param name="arg0">An Object to format</param>
  25910. <remarks>
  25911. <para>
  25912. The message is formatted using the <c>String.Format</c> method. See
  25913. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25914. of the formatting.
  25915. </para>
  25916. <para>
  25917. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25918. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
  25919. methods instead.
  25920. </para>
  25921. </remarks>
  25922. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  25923. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  25924. </member>
  25925. <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.String,System.Object[])">
  25926. <summary>
  25927. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  25928. </summary>
  25929. <param name="logger">The logger on which the message is logged.</param>
  25930. <param name="format">A String containing zero or more format items</param>
  25931. <param name="args">An Object array containing zero or more objects to format</param>
  25932. <remarks>
  25933. <para>
  25934. The message is formatted using the <c>String.Format</c> method. See
  25935. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25936. of the formatting.
  25937. </para>
  25938. <para>
  25939. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25940. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
  25941. methods instead.
  25942. </para>
  25943. </remarks>
  25944. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  25945. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  25946. </member>
  25947. <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
  25948. <summary>
  25949. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  25950. </summary>
  25951. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  25952. <param name="logger">The logger on which the message is logged.</param>
  25953. <param name="format">A String containing zero or more format items</param>
  25954. <param name="args">An Object array containing zero or more objects to format</param>
  25955. <remarks>
  25956. <para>
  25957. The message is formatted using the <c>String.Format</c> method. See
  25958. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25959. of the formatting.
  25960. </para>
  25961. <para>
  25962. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25963. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
  25964. methods instead.
  25965. </para>
  25966. </remarks>
  25967. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  25968. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  25969. </member>
  25970. <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
  25971. <summary>
  25972. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  25973. </summary>
  25974. <param name="logger">The logger on which the message is logged.</param>
  25975. <param name="format">A String containing zero or more format items</param>
  25976. <param name="arg0">An Object to format</param>
  25977. <param name="arg1">An Object to format</param>
  25978. <remarks>
  25979. <para>
  25980. The message is formatted using the <c>String.Format</c> method. See
  25981. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  25982. of the formatting.
  25983. </para>
  25984. <para>
  25985. This method does not take an <see cref="T:System.Exception"/> object to include in the
  25986. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
  25987. methods instead.
  25988. </para>
  25989. </remarks>
  25990. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  25991. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  25992. </member>
  25993. <member name="M:log4net.Util.ILogExtensions.InfoFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
  25994. <summary>
  25995. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Info"/> level.
  25996. </summary>
  25997. <param name="logger">The logger on which the message is logged.</param>
  25998. <param name="format">A String containing zero or more format items</param>
  25999. <param name="arg0">An Object to format</param>
  26000. <param name="arg1">An Object to format</param>
  26001. <param name="arg2">An Object to format</param>
  26002. <remarks>
  26003. <para>
  26004. The message is formatted using the <c>String.Format</c> method. See
  26005. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26006. of the formatting.
  26007. </para>
  26008. <para>
  26009. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26010. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.InfoExt(log4net.ILog,System.Object,System.Exception)"/>
  26011. methods instead.
  26012. </para>
  26013. </remarks>
  26014. <seealso cref="M:log4net.ILog.Info(System.Object)"/>
  26015. <seealso cref="P:log4net.ILog.IsInfoEnabled"/>
  26016. </member>
  26017. <member name="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Func{System.Object})">
  26018. <summary>
  26019. Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
  26020. </summary>
  26021. <param name="logger">The logger on which the message is logged.</param>
  26022. <param name="callback">The lambda expression that gets the object to log.</param>
  26023. <remarks>
  26024. <para>
  26025. This method first checks if this logger is <c>WARN</c>
  26026. enabled by reading the value <seealso cref="P:log4net.ILog.IsWarnEnabled"/> property.
  26027. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  26028. implementation. If this logger is <c>WARN</c> enabled, then it converts
  26029. the message object (retrieved by invocation of the provided callback) to a
  26030. string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
  26031. It then proceeds to call all the registered appenders in this logger
  26032. and also higher in the hierarchy depending on the value of
  26033. the additivity flag.
  26034. </para>
  26035. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  26036. to this method will print the name of the <see cref="T:System.Exception"/>
  26037. but no stack trace. To print a stack trace use the
  26038. <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
  26039. </para>
  26040. </remarks>
  26041. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26042. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26043. </member>
  26044. <member name="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Func{System.Object},System.Exception)">
  26045. <summary>
  26046. Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level including
  26047. the stack trace of the <see cref="T:System.Exception"/> passed
  26048. as a parameter.
  26049. </summary>
  26050. <param name="logger">The logger on which the message is logged.</param>
  26051. <param name="callback">The lambda expression that gets the object to log.</param>
  26052. <param name="exception">The exception to log, including its stack trace.</param>
  26053. <remarks>
  26054. <para>
  26055. See the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object)"/> form for more detailed information.
  26056. </para>
  26057. </remarks>
  26058. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26059. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26060. </member>
  26061. <member name="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object)">
  26062. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.</overloads> //TODO
  26063. <summary>
  26064. Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level.
  26065. </summary>
  26066. <param name="logger">The logger on which the message is logged.</param>
  26067. <param name="message">The message object to log.</param>
  26068. <remarks>
  26069. <para>
  26070. This method first checks if this logger is <c>WARN</c>
  26071. enabled by reading the value <seealso cref="P:log4net.ILog.IsWarnEnabled"/> property.
  26072. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  26073. implementation. If this logger is <c>WARN</c> enabled, then it converts
  26074. the message object (passed as parameter) to a string by invoking the appropriate
  26075. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  26076. proceeds to call all the registered appenders in this logger
  26077. and also higher in the hierarchy depending on the value of
  26078. the additivity flag.
  26079. </para>
  26080. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  26081. to this method will print the name of the <see cref="T:System.Exception"/>
  26082. but no stack trace. To print a stack trace use the
  26083. <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
  26084. </para>
  26085. </remarks>
  26086. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26087. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26088. </member>
  26089. <member name="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)">
  26090. <summary>
  26091. Log a message object with the <see cref="F:log4net.Core.Level.Warn"/> level including
  26092. the stack trace of the <see cref="T:System.Exception"/> passed
  26093. as a parameter.
  26094. </summary>
  26095. <param name="logger">The logger on which the message is logged.</param>
  26096. <param name="message">The message object to log.</param>
  26097. <param name="exception">The exception to log, including its stack trace.</param>
  26098. <remarks>
  26099. <para>
  26100. See the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object)"/> form for more detailed information.
  26101. </para>
  26102. </remarks>
  26103. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26104. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26105. </member>
  26106. <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.String,System.Object)">
  26107. <summary>
  26108. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  26109. </summary>
  26110. <param name="logger">The logger on which the message is logged.</param>
  26111. <param name="format">A String containing zero or more format items</param>
  26112. <param name="arg0">An Object to format</param>
  26113. <remarks>
  26114. <para>
  26115. The message is formatted using the <c>String.Format</c> method. See
  26116. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26117. of the formatting.
  26118. </para>
  26119. <para>
  26120. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26121. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
  26122. methods instead.
  26123. </para>
  26124. </remarks>
  26125. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26126. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26127. </member>
  26128. <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.String,System.Object[])">
  26129. <summary>
  26130. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  26131. </summary>
  26132. <param name="logger">The logger on which the message is logged.</param>
  26133. <param name="format">A String containing zero or more format items</param>
  26134. <param name="args">An Object array containing zero or more objects to format</param>
  26135. <remarks>
  26136. <para>
  26137. The message is formatted using the <c>String.Format</c> method. See
  26138. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26139. of the formatting.
  26140. </para>
  26141. <para>
  26142. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26143. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
  26144. methods instead.
  26145. </para>
  26146. </remarks>
  26147. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26148. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26149. </member>
  26150. <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
  26151. <summary>
  26152. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  26153. </summary>
  26154. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  26155. <param name="logger">The logger on which the message is logged.</param>
  26156. <param name="format">A String containing zero or more format items</param>
  26157. <param name="args">An Object array containing zero or more objects to format</param>
  26158. <remarks>
  26159. <para>
  26160. The message is formatted using the <c>String.Format</c> method. See
  26161. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26162. of the formatting.
  26163. </para>
  26164. <para>
  26165. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26166. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
  26167. methods instead.
  26168. </para>
  26169. </remarks>
  26170. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26171. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26172. </member>
  26173. <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
  26174. <summary>
  26175. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  26176. </summary>
  26177. <param name="logger">The logger on which the message is logged.</param>
  26178. <param name="format">A String containing zero or more format items</param>
  26179. <param name="arg0">An Object to format</param>
  26180. <param name="arg1">An Object to format</param>
  26181. <remarks>
  26182. <para>
  26183. The message is formatted using the <c>String.Format</c> method. See
  26184. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26185. of the formatting.
  26186. </para>
  26187. <para>
  26188. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26189. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
  26190. methods instead.
  26191. </para>
  26192. </remarks>
  26193. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26194. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26195. </member>
  26196. <member name="M:log4net.Util.ILogExtensions.WarnFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
  26197. <summary>
  26198. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Warn"/> level.
  26199. </summary>
  26200. <param name="logger">The logger on which the message is logged.</param>
  26201. <param name="format">A String containing zero or more format items</param>
  26202. <param name="arg0">An Object to format</param>
  26203. <param name="arg1">An Object to format</param>
  26204. <param name="arg2">An Object to format</param>
  26205. <remarks>
  26206. <para>
  26207. The message is formatted using the <c>String.Format</c> method. See
  26208. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26209. of the formatting.
  26210. </para>
  26211. <para>
  26212. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26213. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.WarnExt(log4net.ILog,System.Object,System.Exception)"/>
  26214. methods instead.
  26215. </para>
  26216. </remarks>
  26217. <seealso cref="M:log4net.ILog.Warn(System.Object)"/>
  26218. <seealso cref="P:log4net.ILog.IsWarnEnabled"/>
  26219. </member>
  26220. <member name="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Func{System.Object})">
  26221. <summary>
  26222. Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
  26223. </summary>
  26224. <param name="logger">The logger on which the message is logged.</param>
  26225. <param name="callback">The lambda expression that gets the object to log.</param>
  26226. <remarks>
  26227. <para>
  26228. This method first checks if this logger is <c>ERROR</c>
  26229. enabled by reading the value <seealso cref="P:log4net.ILog.IsErrorEnabled"/> property.
  26230. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  26231. implementation. If this logger is <c>ERROR</c> enabled, then it converts
  26232. the message object (retrieved by invocation of the provided callback) to a
  26233. string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
  26234. It then proceeds to call all the registered appenders in this logger
  26235. and also higher in the hierarchy depending on the value of
  26236. the additivity flag.
  26237. </para>
  26238. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  26239. to this method will print the name of the <see cref="T:System.Exception"/>
  26240. but no stack trace. To print a stack trace use the
  26241. <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
  26242. </para>
  26243. </remarks>
  26244. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26245. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26246. </member>
  26247. <member name="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Func{System.Object},System.Exception)">
  26248. <summary>
  26249. Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level including
  26250. the stack trace of the <see cref="T:System.Exception"/> passed
  26251. as a parameter.
  26252. </summary>
  26253. <param name="logger">The logger on which the message is logged.</param>
  26254. <param name="callback">The lambda expression that gets the object to log.</param>
  26255. <param name="exception">The exception to log, including its stack trace.</param>
  26256. <remarks>
  26257. <para>
  26258. See the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object)"/> form for more detailed information.
  26259. </para>
  26260. </remarks>
  26261. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26262. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26263. </member>
  26264. <member name="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object)">
  26265. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.</overloads> //TODO
  26266. <summary>
  26267. Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level.
  26268. </summary>
  26269. <param name="logger">The logger on which the message is logged.</param>
  26270. <param name="message">The message object to log.</param>
  26271. <remarks>
  26272. <para>
  26273. This method first checks if this logger is <c>ERROR</c>
  26274. enabled by reading the value <seealso cref="P:log4net.ILog.IsErrorEnabled"/> property.
  26275. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  26276. implementation. If this logger is <c>ERROR</c> enabled, then it converts
  26277. the message object (passed as parameter) to a string by invoking the appropriate
  26278. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  26279. proceeds to call all the registered appenders in this logger
  26280. and also higher in the hierarchy depending on the value of
  26281. the additivity flag.
  26282. </para>
  26283. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  26284. to this method will print the name of the <see cref="T:System.Exception"/>
  26285. but no stack trace. To print a stack trace use the
  26286. <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
  26287. </para>
  26288. </remarks>
  26289. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26290. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26291. </member>
  26292. <member name="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)">
  26293. <summary>
  26294. Log a message object with the <see cref="F:log4net.Core.Level.Error"/> level including
  26295. the stack trace of the <see cref="T:System.Exception"/> passed
  26296. as a parameter.
  26297. </summary>
  26298. <param name="logger">The logger on which the message is logged.</param>
  26299. <param name="message">The message object to log.</param>
  26300. <param name="exception">The exception to log, including its stack trace.</param>
  26301. <remarks>
  26302. <para>
  26303. See the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object)"/> form for more detailed information.
  26304. </para>
  26305. </remarks>
  26306. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26307. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26308. </member>
  26309. <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.String,System.Object)">
  26310. <summary>
  26311. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  26312. </summary>
  26313. <param name="logger">The logger on which the message is logged.</param>
  26314. <param name="format">A String containing zero or more format items</param>
  26315. <param name="arg0">An Object to format</param>
  26316. <remarks>
  26317. <para>
  26318. The message is formatted using the <c>String.Format</c> method. See
  26319. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26320. of the formatting.
  26321. </para>
  26322. <para>
  26323. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26324. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
  26325. methods instead.
  26326. </para>
  26327. </remarks>
  26328. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26329. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26330. </member>
  26331. <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.String,System.Object[])">
  26332. <summary>
  26333. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  26334. </summary>
  26335. <param name="logger">The logger on which the message is logged.</param>
  26336. <param name="format">A String containing zero or more format items</param>
  26337. <param name="args">An Object array containing zero or more objects to format</param>
  26338. <remarks>
  26339. <para>
  26340. The message is formatted using the <c>String.Format</c> method. See
  26341. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26342. of the formatting.
  26343. </para>
  26344. <para>
  26345. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26346. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
  26347. methods instead.
  26348. </para>
  26349. </remarks>
  26350. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26351. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26352. </member>
  26353. <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
  26354. <summary>
  26355. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  26356. </summary>
  26357. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  26358. <param name="logger">The logger on which the message is logged.</param>
  26359. <param name="format">A String containing zero or more format items</param>
  26360. <param name="args">An Object array containing zero or more objects to format</param>
  26361. <remarks>
  26362. <para>
  26363. The message is formatted using the <c>String.Format</c> method. See
  26364. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26365. of the formatting.
  26366. </para>
  26367. <para>
  26368. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26369. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
  26370. methods instead.
  26371. </para>
  26372. </remarks>
  26373. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26374. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26375. </member>
  26376. <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
  26377. <summary>
  26378. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  26379. </summary>
  26380. <param name="logger">The logger on which the message is logged.</param>
  26381. <param name="format">A String containing zero or more format items</param>
  26382. <param name="arg0">An Object to format</param>
  26383. <param name="arg1">An Object to format</param>
  26384. <remarks>
  26385. <para>
  26386. The message is formatted using the <c>String.Format</c> method. See
  26387. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26388. of the formatting.
  26389. </para>
  26390. <para>
  26391. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26392. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
  26393. methods instead.
  26394. </para>
  26395. </remarks>
  26396. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26397. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26398. </member>
  26399. <member name="M:log4net.Util.ILogExtensions.ErrorFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
  26400. <summary>
  26401. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Error"/> level.
  26402. </summary>
  26403. <param name="logger">The logger on which the message is logged.</param>
  26404. <param name="format">A String containing zero or more format items</param>
  26405. <param name="arg0">An Object to format</param>
  26406. <param name="arg1">An Object to format</param>
  26407. <param name="arg2">An Object to format</param>
  26408. <remarks>
  26409. <para>
  26410. The message is formatted using the <c>String.Format</c> method. See
  26411. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26412. of the formatting.
  26413. </para>
  26414. <para>
  26415. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26416. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.ErrorExt(log4net.ILog,System.Object,System.Exception)"/>
  26417. methods instead.
  26418. </para>
  26419. </remarks>
  26420. <seealso cref="M:log4net.ILog.Error(System.Object)"/>
  26421. <seealso cref="P:log4net.ILog.IsErrorEnabled"/>
  26422. </member>
  26423. <member name="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Func{System.Object})">
  26424. <summary>
  26425. Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  26426. </summary>
  26427. <param name="logger">The logger on which the message is logged.</param>
  26428. <param name="callback">The lambda expression that gets the object to log.</param>
  26429. <remarks>
  26430. <para>
  26431. This method first checks if this logger is <c>FATAL</c>
  26432. enabled by reading the value <seealso cref="P:log4net.ILog.IsFatalEnabled"/> property.
  26433. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  26434. implementation. If this logger is <c>FATAL</c> enabled, then it converts
  26435. the message object (retrieved by invocation of the provided callback) to a
  26436. string by invoking the appropriate <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>.
  26437. It then proceeds to call all the registered appenders in this logger
  26438. and also higher in the hierarchy depending on the value of
  26439. the additivity flag.
  26440. </para>
  26441. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  26442. to this method will print the name of the <see cref="T:System.Exception"/>
  26443. but no stack trace. To print a stack trace use the
  26444. <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Func{System.Object},System.Exception)"/> form instead.
  26445. </para>
  26446. </remarks>
  26447. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26448. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26449. </member>
  26450. <member name="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Func{System.Object},System.Exception)">
  26451. <summary>
  26452. Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level including
  26453. the stack trace of the <see cref="T:System.Exception"/> passed
  26454. as a parameter.
  26455. </summary>
  26456. <param name="logger">The logger on which the message is logged.</param>
  26457. <param name="callback">The lambda expression that gets the object to log.</param>
  26458. <param name="exception">The exception to log, including its stack trace.</param>
  26459. <remarks>
  26460. <para>
  26461. See the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object)"/> form for more detailed information.
  26462. </para>
  26463. </remarks>
  26464. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26465. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26466. </member>
  26467. <member name="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object)">
  26468. <overloads>Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.</overloads> //TODO
  26469. <summary>
  26470. Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  26471. </summary>
  26472. <param name="logger">The logger on which the message is logged.</param>
  26473. <param name="message">The message object to log.</param>
  26474. <remarks>
  26475. <para>
  26476. This method first checks if this logger is <c>FATAL</c>
  26477. enabled by reading the value <seealso cref="P:log4net.ILog.IsFatalEnabled"/> property.
  26478. This check happens always and does not depend on the <seealso cref="T:log4net.ILog"/>
  26479. implementation. If this logger is <c>FATAL</c> enabled, then it converts
  26480. the message object (passed as parameter) to a string by invoking the appropriate
  26481. <see cref="T:log4net.ObjectRenderer.IObjectRenderer"/>. It then
  26482. proceeds to call all the registered appenders in this logger
  26483. and also higher in the hierarchy depending on the value of
  26484. the additivity flag.
  26485. </para>
  26486. <para><b>WARNING</b> Note that passing an <see cref="T:System.Exception"/>
  26487. to this method will print the name of the <see cref="T:System.Exception"/>
  26488. but no stack trace. To print a stack trace use the
  26489. <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/> form instead.
  26490. </para>
  26491. </remarks>
  26492. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26493. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26494. </member>
  26495. <member name="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)">
  26496. <summary>
  26497. Log a message object with the <see cref="F:log4net.Core.Level.Fatal"/> level including
  26498. the stack trace of the <see cref="T:System.Exception"/> passed
  26499. as a parameter.
  26500. </summary>
  26501. <param name="logger">The logger on which the message is logged.</param>
  26502. <param name="message">The message object to log.</param>
  26503. <param name="exception">The exception to log, including its stack trace.</param>
  26504. <remarks>
  26505. <para>
  26506. See the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object)"/> form for more detailed information.
  26507. </para>
  26508. </remarks>
  26509. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26510. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26511. </member>
  26512. <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.String,System.Object)">
  26513. <summary>
  26514. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  26515. </summary>
  26516. <param name="logger">The logger on which the message is logged.</param>
  26517. <param name="format">A String containing zero or more format items</param>
  26518. <param name="arg0">An Object to format</param>
  26519. <remarks>
  26520. <para>
  26521. The message is formatted using the <c>String.Format</c> method. See
  26522. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26523. of the formatting.
  26524. </para>
  26525. <para>
  26526. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26527. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
  26528. methods instead.
  26529. </para>
  26530. </remarks>
  26531. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26532. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26533. </member>
  26534. <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.String,System.Object[])">
  26535. <summary>
  26536. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  26537. </summary>
  26538. <param name="logger">The logger on which the message is logged.</param>
  26539. <param name="format">A String containing zero or more format items</param>
  26540. <param name="args">An Object array containing zero or more objects to format</param>
  26541. <remarks>
  26542. <para>
  26543. The message is formatted using the <c>String.Format</c> method. See
  26544. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26545. of the formatting.
  26546. </para>
  26547. <para>
  26548. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26549. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
  26550. methods instead.
  26551. </para>
  26552. </remarks>
  26553. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26554. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26555. </member>
  26556. <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.IFormatProvider,System.String,System.Object[])">
  26557. <summary>
  26558. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  26559. </summary>
  26560. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information</param>
  26561. <param name="logger">The logger on which the message is logged.</param>
  26562. <param name="format">A String containing zero or more format items</param>
  26563. <param name="args">An Object array containing zero or more objects to format</param>
  26564. <remarks>
  26565. <para>
  26566. The message is formatted using the <c>String.Format</c> method. See
  26567. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26568. of the formatting.
  26569. </para>
  26570. <para>
  26571. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26572. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
  26573. methods instead.
  26574. </para>
  26575. </remarks>
  26576. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26577. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26578. </member>
  26579. <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.String,System.Object,System.Object)">
  26580. <summary>
  26581. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  26582. </summary>
  26583. <param name="logger">The logger on which the message is logged.</param>
  26584. <param name="format">A String containing zero or more format items</param>
  26585. <param name="arg0">An Object to format</param>
  26586. <param name="arg1">An Object to format</param>
  26587. <remarks>
  26588. <para>
  26589. The message is formatted using the <c>String.Format</c> method. See
  26590. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26591. of the formatting.
  26592. </para>
  26593. <para>
  26594. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26595. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
  26596. methods instead.
  26597. </para>
  26598. </remarks>
  26599. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26600. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26601. </member>
  26602. <member name="M:log4net.Util.ILogExtensions.FatalFormatExt(log4net.ILog,System.String,System.Object,System.Object,System.Object)">
  26603. <summary>
  26604. Logs a formatted message string with the <see cref="F:log4net.Core.Level.Fatal"/> level.
  26605. </summary>
  26606. <param name="logger">The logger on which the message is logged.</param>
  26607. <param name="format">A String containing zero or more format items</param>
  26608. <param name="arg0">An Object to format</param>
  26609. <param name="arg1">An Object to format</param>
  26610. <param name="arg2">An Object to format</param>
  26611. <remarks>
  26612. <para>
  26613. The message is formatted using the <c>String.Format</c> method. See
  26614. <see cref="M:System.String.Format(System.String,System.Object[])"/> for details of the syntax of the format string and the behavior
  26615. of the formatting.
  26616. </para>
  26617. <para>
  26618. This method does not take an <see cref="T:System.Exception"/> object to include in the
  26619. log event. To pass an <see cref="T:System.Exception"/> use one of the <see cref="M:log4net.Util.ILogExtensions.FatalExt(log4net.ILog,System.Object,System.Exception)"/>
  26620. methods instead.
  26621. </para>
  26622. </remarks>
  26623. <seealso cref="M:log4net.ILog.Fatal(System.Object)"/>
  26624. <seealso cref="P:log4net.ILog.IsFatalEnabled"/>
  26625. </member>
  26626. <member name="T:log4net.Util.LevelMapping">
  26627. <summary>
  26628. Manages a mapping from levels to <see cref="T:log4net.Util.LevelMappingEntry"/>
  26629. </summary>
  26630. <remarks>
  26631. <para>
  26632. Manages an ordered mapping from <see cref="T:log4net.Core.Level"/> instances
  26633. to <see cref="T:log4net.Util.LevelMappingEntry"/> subclasses.
  26634. </para>
  26635. </remarks>
  26636. <author>Nicko Cadell</author>
  26637. </member>
  26638. <member name="M:log4net.Util.LevelMapping.#ctor">
  26639. <summary>
  26640. Default constructor
  26641. </summary>
  26642. <remarks>
  26643. <para>
  26644. Initialise a new instance of <see cref="T:log4net.Util.LevelMapping"/>.
  26645. </para>
  26646. </remarks>
  26647. </member>
  26648. <member name="M:log4net.Util.LevelMapping.Add(log4net.Util.LevelMappingEntry)">
  26649. <summary>
  26650. Add a <see cref="T:log4net.Util.LevelMappingEntry"/> to this mapping
  26651. </summary>
  26652. <param name="entry">the entry to add</param>
  26653. <remarks>
  26654. <para>
  26655. If a <see cref="T:log4net.Util.LevelMappingEntry"/> has previously been added
  26656. for the same <see cref="T:log4net.Core.Level"/> then that entry will be
  26657. overwritten.
  26658. </para>
  26659. </remarks>
  26660. </member>
  26661. <member name="M:log4net.Util.LevelMapping.Lookup(log4net.Core.Level)">
  26662. <summary>
  26663. Lookup the mapping for the specified level
  26664. </summary>
  26665. <param name="level">the level to lookup</param>
  26666. <returns>the <see cref="T:log4net.Util.LevelMappingEntry"/> for the level or <c>null</c> if no mapping found</returns>
  26667. <remarks>
  26668. <para>
  26669. Lookup the value for the specified level. Finds the nearest
  26670. mapping value for the level that is equal to or less than the
  26671. <paramref name="level"/> specified.
  26672. </para>
  26673. <para>
  26674. If no mapping could be found then <c>null</c> is returned.
  26675. </para>
  26676. </remarks>
  26677. </member>
  26678. <member name="M:log4net.Util.LevelMapping.ActivateOptions">
  26679. <summary>
  26680. Initialize options
  26681. </summary>
  26682. <remarks>
  26683. <para>
  26684. Caches the sorted list of <see cref="T:log4net.Util.LevelMappingEntry"/> in an array
  26685. </para>
  26686. </remarks>
  26687. </member>
  26688. <member name="T:log4net.Util.LevelMappingEntry">
  26689. <summary>
  26690. An entry in the <see cref="T:log4net.Util.LevelMapping"/>
  26691. </summary>
  26692. <remarks>
  26693. <para>
  26694. This is an abstract base class for types that are stored in the
  26695. <see cref="T:log4net.Util.LevelMapping"/> object.
  26696. </para>
  26697. </remarks>
  26698. <author>Nicko Cadell</author>
  26699. </member>
  26700. <member name="M:log4net.Util.LevelMappingEntry.#ctor">
  26701. <summary>
  26702. Default protected constructor
  26703. </summary>
  26704. <remarks>
  26705. <para>
  26706. Default protected constructor
  26707. </para>
  26708. </remarks>
  26709. </member>
  26710. <member name="P:log4net.Util.LevelMappingEntry.Level">
  26711. <summary>
  26712. The level that is the key for this mapping
  26713. </summary>
  26714. <value>
  26715. The <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this mapping
  26716. </value>
  26717. <remarks>
  26718. <para>
  26719. Get or set the <see cref="P:log4net.Util.LevelMappingEntry.Level"/> that is the key for this
  26720. mapping subclass.
  26721. </para>
  26722. </remarks>
  26723. </member>
  26724. <member name="M:log4net.Util.LevelMappingEntry.ActivateOptions">
  26725. <summary>
  26726. Initialize any options defined on this entry
  26727. </summary>
  26728. <remarks>
  26729. <para>
  26730. Should be overridden by any classes that need to initialise based on their options
  26731. </para>
  26732. </remarks>
  26733. </member>
  26734. <member name="T:log4net.Util.LogicalThreadContextProperties">
  26735. <summary>
  26736. Implementation of Properties collection for the <see cref="T:log4net.LogicalThreadContext"/>
  26737. </summary>
  26738. <remarks>
  26739. <para>
  26740. Class implements a collection of properties that is specific to each thread.
  26741. The class is not synchronized as each thread has its own <see cref="T:log4net.Util.PropertiesDictionary"/>.
  26742. </para>
  26743. <para>
  26744. This class stores its properties in a slot on the <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> named
  26745. <c>log4net.Util.LogicalThreadContextProperties</c>.
  26746. </para>
  26747. <para>
  26748. For .NET Standard 1.3 this class uses
  26749. System.Threading.AsyncLocal rather than <see
  26750. cref="T:System.Runtime.Remoting.Messaging.CallContext"/>.
  26751. </para>
  26752. <para>
  26753. The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> requires a link time
  26754. <see cref="T:System.Security.Permissions.SecurityPermission"/> for the
  26755. <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Infrastructure"/>.
  26756. If the calling code does not have this permission then this context will be disabled.
  26757. It will not store any property values set on it.
  26758. </para>
  26759. </remarks>
  26760. <author>Nicko Cadell</author>
  26761. </member>
  26762. <member name="F:log4net.Util.LogicalThreadContextProperties.m_disabled">
  26763. <summary>
  26764. Flag used to disable this context if we don't have permission to access the CallContext.
  26765. </summary>
  26766. </member>
  26767. <member name="M:log4net.Util.LogicalThreadContextProperties.#ctor">
  26768. <summary>
  26769. Constructor
  26770. </summary>
  26771. <remarks>
  26772. <para>
  26773. Initializes a new instance of the <see cref="T:log4net.Util.LogicalThreadContextProperties" /> class.
  26774. </para>
  26775. </remarks>
  26776. </member>
  26777. <member name="P:log4net.Util.LogicalThreadContextProperties.Item(System.String)">
  26778. <summary>
  26779. Gets or sets the value of a property
  26780. </summary>
  26781. <value>
  26782. The value for the property with the specified key
  26783. </value>
  26784. <remarks>
  26785. <para>
  26786. Get or set the property value for the <paramref name="key"/> specified.
  26787. </para>
  26788. </remarks>
  26789. </member>
  26790. <member name="M:log4net.Util.LogicalThreadContextProperties.Remove(System.String)">
  26791. <summary>
  26792. Remove a property
  26793. </summary>
  26794. <param name="key">the key for the entry to remove</param>
  26795. <remarks>
  26796. <para>
  26797. Remove the value for the specified <paramref name="key"/> from the context.
  26798. </para>
  26799. </remarks>
  26800. </member>
  26801. <member name="M:log4net.Util.LogicalThreadContextProperties.Clear">
  26802. <summary>
  26803. Clear all the context properties
  26804. </summary>
  26805. <remarks>
  26806. <para>
  26807. Clear all the context properties
  26808. </para>
  26809. </remarks>
  26810. </member>
  26811. <member name="M:log4net.Util.LogicalThreadContextProperties.GetProperties(System.Boolean)">
  26812. <summary>
  26813. Get the PropertiesDictionary stored in the LocalDataStoreSlot for this thread.
  26814. </summary>
  26815. <param name="create">create the dictionary if it does not exist, otherwise return null if is does not exist</param>
  26816. <returns>the properties for this thread</returns>
  26817. <remarks>
  26818. <para>
  26819. The collection returned is only to be used on the calling thread. If the
  26820. caller needs to share the collection between different threads then the
  26821. caller must clone the collection before doings so.
  26822. </para>
  26823. </remarks>
  26824. </member>
  26825. <member name="M:log4net.Util.LogicalThreadContextProperties.GetLogicalProperties">
  26826. <summary>
  26827. Gets the call context get data.
  26828. </summary>
  26829. <returns>The peroperties dictionary stored in the call context</returns>
  26830. <remarks>
  26831. The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> method <see cref="M:System.Runtime.Remoting.Messaging.CallContext.GetData(System.String)"/> has a
  26832. security link demand, therfore we must put the method call in a seperate method
  26833. that we can wrap in an exception handler.
  26834. </remarks>
  26835. </member>
  26836. <member name="M:log4net.Util.LogicalThreadContextProperties.SetLogicalProperties(log4net.Util.PropertiesDictionary)">
  26837. <summary>
  26838. Sets the call context data.
  26839. </summary>
  26840. <param name="properties">The properties.</param>
  26841. <remarks>
  26842. The <see cref="T:System.Runtime.Remoting.Messaging.CallContext"/> method <see cref="M:System.Runtime.Remoting.Messaging.CallContext.SetData(System.String,System.Object)"/> has a
  26843. security link demand, therfore we must put the method call in a seperate method
  26844. that we can wrap in an exception handler.
  26845. </remarks>
  26846. </member>
  26847. <member name="F:log4net.Util.LogicalThreadContextProperties.declaringType">
  26848. <summary>
  26849. The fully qualified type of the LogicalThreadContextProperties class.
  26850. </summary>
  26851. <remarks>
  26852. Used by the internal logger to record the Type of the
  26853. log message.
  26854. </remarks>
  26855. </member>
  26856. <member name="T:log4net.Util.TwoArgAction`2">
  26857. <summary>
  26858. Delegate type used for LogicalThreadContextStack's callbacks.
  26859. </summary>
  26860. </member>
  26861. <member name="T:log4net.Util.LogicalThreadContextStack">
  26862. <summary>
  26863. Implementation of Stack for the <see cref="T:log4net.LogicalThreadContext"/>
  26864. </summary>
  26865. <remarks>
  26866. <para>
  26867. Implementation of Stack for the <see cref="T:log4net.LogicalThreadContext"/>
  26868. </para>
  26869. </remarks>
  26870. <author>Nicko Cadell</author>
  26871. </member>
  26872. <member name="F:log4net.Util.LogicalThreadContextStack.m_stack">
  26873. <summary>
  26874. The stack store.
  26875. </summary>
  26876. </member>
  26877. <member name="F:log4net.Util.LogicalThreadContextStack.m_propertyKey">
  26878. <summary>
  26879. The name of this <see cref="T:log4net.Util.LogicalThreadContextStack"/> within the
  26880. <see cref="T:log4net.Util.LogicalThreadContextProperties"/>.
  26881. </summary>
  26882. </member>
  26883. <member name="F:log4net.Util.LogicalThreadContextStack.m_registerNew">
  26884. <summary>
  26885. The callback used to let the <see cref="T:log4net.Util.LogicalThreadContextStacks"/> register a
  26886. new instance of a <see cref="T:log4net.Util.LogicalThreadContextStack"/>.
  26887. </summary>
  26888. </member>
  26889. <member name="M:log4net.Util.LogicalThreadContextStack.#ctor(System.String,log4net.Util.TwoArgAction{System.String,log4net.Util.LogicalThreadContextStack})">
  26890. <summary>
  26891. Internal constructor
  26892. </summary>
  26893. <remarks>
  26894. <para>
  26895. Initializes a new instance of the <see cref="T:log4net.Util.LogicalThreadContextStack" /> class.
  26896. </para>
  26897. </remarks>
  26898. </member>
  26899. <member name="P:log4net.Util.LogicalThreadContextStack.Count">
  26900. <summary>
  26901. The number of messages in the stack
  26902. </summary>
  26903. <value>
  26904. The current number of messages in the stack
  26905. </value>
  26906. <remarks>
  26907. <para>
  26908. The current number of messages in the stack. That is
  26909. the number of times <see cref="M:log4net.Util.LogicalThreadContextStack.Push(System.String)"/> has been called
  26910. minus the number of times <see cref="M:log4net.Util.LogicalThreadContextStack.Pop"/> has been called.
  26911. </para>
  26912. </remarks>
  26913. </member>
  26914. <member name="M:log4net.Util.LogicalThreadContextStack.Clear">
  26915. <summary>
  26916. Clears all the contextual information held in this stack.
  26917. </summary>
  26918. <remarks>
  26919. <para>
  26920. Clears all the contextual information held in this stack.
  26921. Only call this if you think that this thread is being reused after
  26922. a previous call execution which may not have completed correctly.
  26923. You do not need to use this method if you always guarantee to call
  26924. the <see cref="M:System.IDisposable.Dispose"/> method of the <see cref="T:System.IDisposable"/>
  26925. returned from <see cref="M:log4net.Util.LogicalThreadContextStack.Push(System.String)"/> even in exceptional circumstances,
  26926. for example by using the <c>using(log4net.LogicalThreadContext.Stacks["NDC"].Push("Stack_Message"))</c>
  26927. syntax.
  26928. </para>
  26929. </remarks>
  26930. </member>
  26931. <member name="M:log4net.Util.LogicalThreadContextStack.Pop">
  26932. <summary>
  26933. Removes the top context from this stack.
  26934. </summary>
  26935. <returns>The message in the context that was removed from the top of this stack.</returns>
  26936. <remarks>
  26937. <para>
  26938. Remove the top context from this stack, and return
  26939. it to the caller. If this stack is empty then an
  26940. empty string (not <see langword="null"/>) is returned.
  26941. </para>
  26942. </remarks>
  26943. </member>
  26944. <member name="M:log4net.Util.LogicalThreadContextStack.Push(System.String)">
  26945. <summary>
  26946. Pushes a new context message into this stack.
  26947. </summary>
  26948. <param name="message">The new context message.</param>
  26949. <returns>
  26950. An <see cref="T:System.IDisposable"/> that can be used to clean up the context stack.
  26951. </returns>
  26952. <remarks>
  26953. <para>
  26954. Pushes a new context onto this stack. An <see cref="T:System.IDisposable"/>
  26955. is returned that can be used to clean up this stack. This
  26956. can be easily combined with the <c>using</c> keyword to scope the
  26957. context.
  26958. </para>
  26959. </remarks>
  26960. <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
  26961. <code lang="C#">
  26962. using(log4net.LogicalThreadContext.Stacks["NDC"].Push("Stack_Message"))
  26963. {
  26964. log.Warn("This should have an ThreadContext Stack message");
  26965. }
  26966. </code>
  26967. </example>
  26968. </member>
  26969. <member name="M:log4net.Util.LogicalThreadContextStack.GetFullMessage">
  26970. <summary>
  26971. Gets the current context information for this stack.
  26972. </summary>
  26973. <returns>The current context information.</returns>
  26974. </member>
  26975. <member name="P:log4net.Util.LogicalThreadContextStack.InternalStack">
  26976. <summary>
  26977. Gets and sets the internal stack used by this <see cref="T:log4net.Util.LogicalThreadContextStack"/>
  26978. </summary>
  26979. <value>The internal storage stack</value>
  26980. <remarks>
  26981. <para>
  26982. This property is provided only to support backward compatability
  26983. of the <see cref="T:log4net.NDC"/>. Tytpically the internal stack should not
  26984. be modified.
  26985. </para>
  26986. </remarks>
  26987. </member>
  26988. <member name="M:log4net.Util.LogicalThreadContextStack.ToString">
  26989. <summary>
  26990. Gets the current context information for this stack.
  26991. </summary>
  26992. <returns>Gets the current context information</returns>
  26993. <remarks>
  26994. <para>
  26995. Gets the current context information for this stack.
  26996. </para>
  26997. </remarks>
  26998. </member>
  26999. <member name="M:log4net.Util.LogicalThreadContextStack.log4net#Core#IFixingRequired#GetFixedObject">
  27000. <summary>
  27001. Get a portable version of this object
  27002. </summary>
  27003. <returns>the portable instance of this object</returns>
  27004. <remarks>
  27005. <para>
  27006. Get a cross thread portable version of this object
  27007. </para>
  27008. </remarks>
  27009. </member>
  27010. <member name="T:log4net.Util.LogicalThreadContextStack.StackFrame">
  27011. <summary>
  27012. Inner class used to represent a single context frame in the stack.
  27013. </summary>
  27014. <remarks>
  27015. <para>
  27016. Inner class used to represent a single context frame in the stack.
  27017. </para>
  27018. </remarks>
  27019. </member>
  27020. <member name="M:log4net.Util.LogicalThreadContextStack.StackFrame.#ctor(System.String,log4net.Util.LogicalThreadContextStack.StackFrame)">
  27021. <summary>
  27022. Constructor
  27023. </summary>
  27024. <param name="message">The message for this context.</param>
  27025. <param name="parent">The parent context in the chain.</param>
  27026. <remarks>
  27027. <para>
  27028. Initializes a new instance of the <see cref="T:log4net.Util.LogicalThreadContextStack.StackFrame" /> class
  27029. with the specified message and parent context.
  27030. </para>
  27031. </remarks>
  27032. </member>
  27033. <member name="P:log4net.Util.LogicalThreadContextStack.StackFrame.Message">
  27034. <summary>
  27035. Get the message.
  27036. </summary>
  27037. <value>The message.</value>
  27038. <remarks>
  27039. <para>
  27040. Get the message.
  27041. </para>
  27042. </remarks>
  27043. </member>
  27044. <member name="P:log4net.Util.LogicalThreadContextStack.StackFrame.FullMessage">
  27045. <summary>
  27046. Gets the full text of the context down to the root level.
  27047. </summary>
  27048. <value>
  27049. The full text of the context down to the root level.
  27050. </value>
  27051. <remarks>
  27052. <para>
  27053. Gets the full text of the context down to the root level.
  27054. </para>
  27055. </remarks>
  27056. </member>
  27057. <member name="T:log4net.Util.LogicalThreadContextStack.AutoPopStackFrame">
  27058. <summary>
  27059. Struct returned from the <see cref="M:log4net.Util.LogicalThreadContextStack.Push(System.String)"/> method.
  27060. </summary>
  27061. <remarks>
  27062. <para>
  27063. This struct implements the <see cref="T:System.IDisposable"/> and is designed to be used
  27064. with the <see langword="using"/> pattern to remove the stack frame at the end of the scope.
  27065. </para>
  27066. </remarks>
  27067. </member>
  27068. <member name="F:log4net.Util.LogicalThreadContextStack.AutoPopStackFrame.m_frameDepth">
  27069. <summary>
  27070. The depth to trim the stack to when this instance is disposed
  27071. </summary>
  27072. </member>
  27073. <member name="F:log4net.Util.LogicalThreadContextStack.AutoPopStackFrame.m_logicalThreadContextStack">
  27074. <summary>
  27075. The outer LogicalThreadContextStack.
  27076. </summary>
  27077. </member>
  27078. <member name="M:log4net.Util.LogicalThreadContextStack.AutoPopStackFrame.#ctor(log4net.Util.LogicalThreadContextStack,System.Int32)">
  27079. <summary>
  27080. Constructor
  27081. </summary>
  27082. <param name="logicalThreadContextStack">The internal stack used by the ThreadContextStack.</param>
  27083. <param name="frameDepth">The depth to return the stack to when this object is disposed.</param>
  27084. <remarks>
  27085. <para>
  27086. Initializes a new instance of the <see cref="T:log4net.Util.LogicalThreadContextStack.AutoPopStackFrame" /> class with
  27087. the specified stack and return depth.
  27088. </para>
  27089. </remarks>
  27090. </member>
  27091. <member name="M:log4net.Util.LogicalThreadContextStack.AutoPopStackFrame.Dispose">
  27092. <summary>
  27093. Returns the stack to the correct depth.
  27094. </summary>
  27095. <remarks>
  27096. <para>
  27097. Returns the stack to the correct depth.
  27098. </para>
  27099. </remarks>
  27100. </member>
  27101. <member name="T:log4net.Util.LogicalThreadContextStacks">
  27102. <summary>
  27103. Implementation of Stacks collection for the <see cref="T:log4net.LogicalThreadContext"/>
  27104. </summary>
  27105. <remarks>
  27106. <para>
  27107. Implementation of Stacks collection for the <see cref="T:log4net.LogicalThreadContext"/>
  27108. </para>
  27109. </remarks>
  27110. <author>Nicko Cadell</author>
  27111. </member>
  27112. <member name="M:log4net.Util.LogicalThreadContextStacks.#ctor(log4net.Util.LogicalThreadContextProperties)">
  27113. <summary>
  27114. Internal constructor
  27115. </summary>
  27116. <remarks>
  27117. <para>
  27118. Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStacks" /> class.
  27119. </para>
  27120. </remarks>
  27121. </member>
  27122. <member name="P:log4net.Util.LogicalThreadContextStacks.Item(System.String)">
  27123. <summary>
  27124. Gets the named thread context stack
  27125. </summary>
  27126. <value>
  27127. The named stack
  27128. </value>
  27129. <remarks>
  27130. <para>
  27131. Gets the named thread context stack
  27132. </para>
  27133. </remarks>
  27134. </member>
  27135. <member name="F:log4net.Util.LogicalThreadContextStacks.declaringType">
  27136. <summary>
  27137. The fully qualified type of the ThreadContextStacks class.
  27138. </summary>
  27139. <remarks>
  27140. Used by the internal logger to record the Type of the
  27141. log message.
  27142. </remarks>
  27143. </member>
  27144. <member name="T:log4net.Util.LogReceivedEventHandler">
  27145. <summary>
  27146. </summary>
  27147. <param name="source"></param>
  27148. <param name="e"></param>
  27149. </member>
  27150. <member name="T:log4net.Util.LogLog">
  27151. <summary>
  27152. Outputs log statements from within the log4net assembly.
  27153. </summary>
  27154. <remarks>
  27155. <para>
  27156. Log4net components cannot make log4net logging calls. However, it is
  27157. sometimes useful for the user to learn about what log4net is
  27158. doing.
  27159. </para>
  27160. <para>
  27161. All log4net internal debug calls go to the standard output stream
  27162. whereas internal error messages are sent to the standard error output
  27163. stream.
  27164. </para>
  27165. </remarks>
  27166. <author>Nicko Cadell</author>
  27167. <author>Gert Driesen</author>
  27168. </member>
  27169. <member name="E:log4net.Util.LogLog.LogReceived">
  27170. <summary>
  27171. The event raised when an internal message has been received.
  27172. </summary>
  27173. </member>
  27174. <member name="P:log4net.Util.LogLog.Source">
  27175. <summary>
  27176. The Type that generated the internal message.
  27177. </summary>
  27178. </member>
  27179. <member name="P:log4net.Util.LogLog.TimeStamp">
  27180. <summary>
  27181. The DateTime stamp of when the internal message was received.
  27182. </summary>
  27183. </member>
  27184. <member name="P:log4net.Util.LogLog.TimeStampUtc">
  27185. <summary>
  27186. The UTC DateTime stamp of when the internal message was received.
  27187. </summary>
  27188. </member>
  27189. <member name="P:log4net.Util.LogLog.Prefix">
  27190. <summary>
  27191. A string indicating the severity of the internal message.
  27192. </summary>
  27193. <remarks>
  27194. "log4net: ",
  27195. "log4net:ERROR ",
  27196. "log4net:WARN "
  27197. </remarks>
  27198. </member>
  27199. <member name="P:log4net.Util.LogLog.Message">
  27200. <summary>
  27201. The internal log message.
  27202. </summary>
  27203. </member>
  27204. <member name="P:log4net.Util.LogLog.Exception">
  27205. <summary>
  27206. The Exception related to the message.
  27207. </summary>
  27208. <remarks>
  27209. Optional. Will be null if no Exception was passed.
  27210. </remarks>
  27211. </member>
  27212. <member name="M:log4net.Util.LogLog.ToString">
  27213. <summary>
  27214. Formats Prefix, Source, and Message in the same format as the value
  27215. sent to Console.Out and Trace.Write.
  27216. </summary>
  27217. <returns></returns>
  27218. </member>
  27219. <member name="M:log4net.Util.LogLog.#ctor(System.Type,System.String,System.String,System.Exception)">
  27220. <summary>
  27221. Initializes a new instance of the <see cref="T:log4net.Util.LogLog" /> class.
  27222. </summary>
  27223. <param name="source"></param>
  27224. <param name="prefix"></param>
  27225. <param name="message"></param>
  27226. <param name="exception"></param>
  27227. </member>
  27228. <member name="M:log4net.Util.LogLog.#cctor">
  27229. <summary>
  27230. Static constructor that initializes logging by reading
  27231. settings from the application configuration file.
  27232. </summary>
  27233. <remarks>
  27234. <para>
  27235. The <c>log4net.Internal.Debug</c> application setting
  27236. controls internal debugging. This setting should be set
  27237. to <c>true</c> to enable debugging.
  27238. </para>
  27239. <para>
  27240. The <c>log4net.Internal.Quiet</c> application setting
  27241. suppresses all internal logging including error messages.
  27242. This setting should be set to <c>true</c> to enable message
  27243. suppression.
  27244. </para>
  27245. </remarks>
  27246. </member>
  27247. <member name="P:log4net.Util.LogLog.InternalDebugging">
  27248. <summary>
  27249. Gets or sets a value indicating whether log4net internal logging
  27250. is enabled or disabled.
  27251. </summary>
  27252. <value>
  27253. <c>true</c> if log4net internal logging is enabled, otherwise
  27254. <c>false</c>.
  27255. </value>
  27256. <remarks>
  27257. <para>
  27258. When set to <c>true</c>, internal debug level logging will be
  27259. displayed.
  27260. </para>
  27261. <para>
  27262. This value can be set by setting the application setting
  27263. <c>log4net.Internal.Debug</c> in the application configuration
  27264. file.
  27265. </para>
  27266. <para>
  27267. The default value is <c>false</c>, i.e. debugging is
  27268. disabled.
  27269. </para>
  27270. </remarks>
  27271. <example>
  27272. <para>
  27273. The following example enables internal debugging using the
  27274. application configuration file :
  27275. </para>
  27276. <code lang="XML" escaped="true">
  27277. <configuration>
  27278. <appSettings>
  27279. <add key="log4net.Internal.Debug" value="true" />
  27280. </appSettings>
  27281. </configuration>
  27282. </code>
  27283. </example>
  27284. </member>
  27285. <member name="P:log4net.Util.LogLog.QuietMode">
  27286. <summary>
  27287. Gets or sets a value indicating whether log4net should generate no output
  27288. from internal logging, not even for errors.
  27289. </summary>
  27290. <value>
  27291. <c>true</c> if log4net should generate no output at all from internal
  27292. logging, otherwise <c>false</c>.
  27293. </value>
  27294. <remarks>
  27295. <para>
  27296. When set to <c>true</c> will cause internal logging at all levels to be
  27297. suppressed. This means that no warning or error reports will be logged.
  27298. This option overrides the <see cref="P:log4net.Util.LogLog.InternalDebugging"/> setting and
  27299. disables all debug also.
  27300. </para>
  27301. <para>This value can be set by setting the application setting
  27302. <c>log4net.Internal.Quiet</c> in the application configuration file.
  27303. </para>
  27304. <para>
  27305. The default value is <c>false</c>, i.e. internal logging is not
  27306. disabled.
  27307. </para>
  27308. </remarks>
  27309. <example>
  27310. The following example disables internal logging using the
  27311. application configuration file :
  27312. <code lang="XML" escaped="true">
  27313. <configuration>
  27314. <appSettings>
  27315. <add key="log4net.Internal.Quiet" value="true" />
  27316. </appSettings>
  27317. </configuration>
  27318. </code>
  27319. </example>
  27320. </member>
  27321. <member name="P:log4net.Util.LogLog.EmitInternalMessages">
  27322. <summary>
  27323. </summary>
  27324. </member>
  27325. <member name="M:log4net.Util.LogLog.OnLogReceived(System.Type,System.String,System.String,System.Exception)">
  27326. <summary>
  27327. Raises the LogReceived event when an internal messages is received.
  27328. </summary>
  27329. <param name="source"></param>
  27330. <param name="prefix"></param>
  27331. <param name="message"></param>
  27332. <param name="exception"></param>
  27333. </member>
  27334. <member name="P:log4net.Util.LogLog.IsDebugEnabled">
  27335. <summary>
  27336. Test if LogLog.Debug is enabled for output.
  27337. </summary>
  27338. <value>
  27339. <c>true</c> if Debug is enabled
  27340. </value>
  27341. <remarks>
  27342. <para>
  27343. Test if LogLog.Debug is enabled for output.
  27344. </para>
  27345. </remarks>
  27346. </member>
  27347. <member name="M:log4net.Util.LogLog.Debug(System.Type,System.String)">
  27348. <summary>
  27349. Writes log4net internal debug messages to the
  27350. standard output stream.
  27351. </summary>
  27352. <param name="source"></param>
  27353. <param name="message">The message to log.</param>
  27354. <remarks>
  27355. <para>
  27356. All internal debug messages are prepended with
  27357. the string "log4net: ".
  27358. </para>
  27359. </remarks>
  27360. </member>
  27361. <member name="M:log4net.Util.LogLog.Debug(System.Type,System.String,System.Exception)">
  27362. <summary>
  27363. Writes log4net internal debug messages to the
  27364. standard output stream.
  27365. </summary>
  27366. <param name="source">The Type that generated this message.</param>
  27367. <param name="message">The message to log.</param>
  27368. <param name="exception">An exception to log.</param>
  27369. <remarks>
  27370. <para>
  27371. All internal debug messages are prepended with
  27372. the string "log4net: ".
  27373. </para>
  27374. </remarks>
  27375. </member>
  27376. <member name="P:log4net.Util.LogLog.IsWarnEnabled">
  27377. <summary>
  27378. Test if LogLog.Warn is enabled for output.
  27379. </summary>
  27380. <value>
  27381. <c>true</c> if Warn is enabled
  27382. </value>
  27383. <remarks>
  27384. <para>
  27385. Test if LogLog.Warn is enabled for output.
  27386. </para>
  27387. </remarks>
  27388. </member>
  27389. <member name="M:log4net.Util.LogLog.Warn(System.Type,System.String)">
  27390. <summary>
  27391. Writes log4net internal warning messages to the
  27392. standard error stream.
  27393. </summary>
  27394. <param name="source">The Type that generated this message.</param>
  27395. <param name="message">The message to log.</param>
  27396. <remarks>
  27397. <para>
  27398. All internal warning messages are prepended with
  27399. the string "log4net:WARN ".
  27400. </para>
  27401. </remarks>
  27402. </member>
  27403. <member name="M:log4net.Util.LogLog.Warn(System.Type,System.String,System.Exception)">
  27404. <summary>
  27405. Writes log4net internal warning messages to the
  27406. standard error stream.
  27407. </summary>
  27408. <param name="source">The Type that generated this message.</param>
  27409. <param name="message">The message to log.</param>
  27410. <param name="exception">An exception to log.</param>
  27411. <remarks>
  27412. <para>
  27413. All internal warning messages are prepended with
  27414. the string "log4net:WARN ".
  27415. </para>
  27416. </remarks>
  27417. </member>
  27418. <member name="P:log4net.Util.LogLog.IsErrorEnabled">
  27419. <summary>
  27420. Test if LogLog.Error is enabled for output.
  27421. </summary>
  27422. <value>
  27423. <c>true</c> if Error is enabled
  27424. </value>
  27425. <remarks>
  27426. <para>
  27427. Test if LogLog.Error is enabled for output.
  27428. </para>
  27429. </remarks>
  27430. </member>
  27431. <member name="M:log4net.Util.LogLog.Error(System.Type,System.String)">
  27432. <summary>
  27433. Writes log4net internal error messages to the
  27434. standard error stream.
  27435. </summary>
  27436. <param name="source">The Type that generated this message.</param>
  27437. <param name="message">The message to log.</param>
  27438. <remarks>
  27439. <para>
  27440. All internal error messages are prepended with
  27441. the string "log4net:ERROR ".
  27442. </para>
  27443. </remarks>
  27444. </member>
  27445. <member name="M:log4net.Util.LogLog.Error(System.Type,System.String,System.Exception)">
  27446. <summary>
  27447. Writes log4net internal error messages to the
  27448. standard error stream.
  27449. </summary>
  27450. <param name="source">The Type that generated this message.</param>
  27451. <param name="message">The message to log.</param>
  27452. <param name="exception">An exception to log.</param>
  27453. <remarks>
  27454. <para>
  27455. All internal debug messages are prepended with
  27456. the string "log4net:ERROR ".
  27457. </para>
  27458. </remarks>
  27459. </member>
  27460. <member name="M:log4net.Util.LogLog.EmitOutLine(System.String)">
  27461. <summary>
  27462. Writes output to the standard output stream.
  27463. </summary>
  27464. <param name="message">The message to log.</param>
  27465. <remarks>
  27466. <para>
  27467. Writes to both Console.Out and System.Diagnostics.Trace.
  27468. Note that the System.Diagnostics.Trace is not supported
  27469. on the Compact Framework.
  27470. </para>
  27471. <para>
  27472. If the AppDomain is not configured with a config file then
  27473. the call to System.Diagnostics.Trace may fail. This is only
  27474. an issue if you are programmatically creating your own AppDomains.
  27475. </para>
  27476. </remarks>
  27477. </member>
  27478. <member name="M:log4net.Util.LogLog.EmitErrorLine(System.String)">
  27479. <summary>
  27480. Writes output to the standard error stream.
  27481. </summary>
  27482. <param name="message">The message to log.</param>
  27483. <remarks>
  27484. <para>
  27485. Writes to both Console.Error and System.Diagnostics.Trace.
  27486. Note that the System.Diagnostics.Trace is not supported
  27487. on the Compact Framework.
  27488. </para>
  27489. <para>
  27490. If the AppDomain is not configured with a config file then
  27491. the call to System.Diagnostics.Trace may fail. This is only
  27492. an issue if you are programmatically creating your own AppDomains.
  27493. </para>
  27494. </remarks>
  27495. </member>
  27496. <member name="F:log4net.Util.LogLog.s_debugEnabled">
  27497. <summary>
  27498. Default debug level
  27499. </summary>
  27500. </member>
  27501. <member name="F:log4net.Util.LogLog.s_quietMode">
  27502. <summary>
  27503. In quietMode not even errors generate any output.
  27504. </summary>
  27505. </member>
  27506. <member name="T:log4net.Util.LogLog.LogReceivedAdapter">
  27507. <summary>
  27508. Subscribes to the LogLog.LogReceived event and stores messages
  27509. to the supplied IList instance.
  27510. </summary>
  27511. </member>
  27512. <member name="M:log4net.Util.LogLog.LogReceivedAdapter.#ctor(System.Collections.IList)">
  27513. <summary>
  27514. </summary>
  27515. <param name="items"></param>
  27516. </member>
  27517. <member name="P:log4net.Util.LogLog.LogReceivedAdapter.Items">
  27518. <summary>
  27519. </summary>
  27520. </member>
  27521. <member name="M:log4net.Util.LogLog.LogReceivedAdapter.Dispose">
  27522. <summary>
  27523. </summary>
  27524. </member>
  27525. <member name="T:log4net.Util.LogReceivedEventArgs">
  27526. <summary>
  27527. </summary>
  27528. </member>
  27529. <member name="M:log4net.Util.LogReceivedEventArgs.#ctor(log4net.Util.LogLog)">
  27530. <summary>
  27531. </summary>
  27532. <param name="loglog"></param>
  27533. </member>
  27534. <member name="P:log4net.Util.LogReceivedEventArgs.LogLog">
  27535. <summary>
  27536. </summary>
  27537. </member>
  27538. <member name="T:log4net.Util.NativeError">
  27539. <summary>
  27540. Represents a native error code and message.
  27541. </summary>
  27542. <remarks>
  27543. <para>
  27544. Represents a Win32 platform native error.
  27545. </para>
  27546. </remarks>
  27547. <author>Nicko Cadell</author>
  27548. <author>Gert Driesen</author>
  27549. </member>
  27550. <member name="M:log4net.Util.NativeError.#ctor(System.Int32,System.String)">
  27551. <summary>
  27552. Create an instance of the <see cref="T:log4net.Util.NativeError" /> class with the specified
  27553. error number and message.
  27554. </summary>
  27555. <param name="number">The number of the native error.</param>
  27556. <param name="message">The message of the native error.</param>
  27557. <remarks>
  27558. <para>
  27559. Create an instance of the <see cref="T:log4net.Util.NativeError" /> class with the specified
  27560. error number and message.
  27561. </para>
  27562. </remarks>
  27563. </member>
  27564. <member name="P:log4net.Util.NativeError.Number">
  27565. <summary>
  27566. Gets the number of the native error.
  27567. </summary>
  27568. <value>
  27569. The number of the native error.
  27570. </value>
  27571. <remarks>
  27572. <para>
  27573. Gets the number of the native error.
  27574. </para>
  27575. </remarks>
  27576. </member>
  27577. <member name="P:log4net.Util.NativeError.Message">
  27578. <summary>
  27579. Gets the message of the native error.
  27580. </summary>
  27581. <value>
  27582. The message of the native error.
  27583. </value>
  27584. <remarks>
  27585. <para>
  27586. </para>
  27587. Gets the message of the native error.
  27588. </remarks>
  27589. </member>
  27590. <member name="M:log4net.Util.NativeError.GetLastError">
  27591. <summary>
  27592. Create a new instance of the <see cref="T:log4net.Util.NativeError" /> class for the last Windows error.
  27593. </summary>
  27594. <returns>
  27595. An instance of the <see cref="T:log4net.Util.NativeError" /> class for the last windows error.
  27596. </returns>
  27597. <remarks>
  27598. <para>
  27599. The message for the <see cref="M:System.Runtime.InteropServices.Marshal.GetLastWin32Error"/> error number is lookup up using the
  27600. native Win32 <c>FormatMessage</c> function.
  27601. </para>
  27602. </remarks>
  27603. </member>
  27604. <member name="M:log4net.Util.NativeError.GetError(System.Int32)">
  27605. <summary>
  27606. Create a new instance of the <see cref="T:log4net.Util.NativeError" /> class.
  27607. </summary>
  27608. <param name="number">the error number for the native error</param>
  27609. <returns>
  27610. An instance of the <see cref="T:log4net.Util.NativeError" /> class for the specified
  27611. error number.
  27612. </returns>
  27613. <remarks>
  27614. <para>
  27615. The message for the specified error number is lookup up using the
  27616. native Win32 <c>FormatMessage</c> function.
  27617. </para>
  27618. </remarks>
  27619. </member>
  27620. <member name="M:log4net.Util.NativeError.GetErrorMessage(System.Int32)">
  27621. <summary>
  27622. Retrieves the message corresponding with a Win32 message identifier.
  27623. </summary>
  27624. <param name="messageId">Message identifier for the requested message.</param>
  27625. <returns>
  27626. The message corresponding with the specified message identifier.
  27627. </returns>
  27628. <remarks>
  27629. <para>
  27630. The message will be searched for in system message-table resource(s)
  27631. using the native <c>FormatMessage</c> function.
  27632. </para>
  27633. </remarks>
  27634. </member>
  27635. <member name="M:log4net.Util.NativeError.ToString">
  27636. <summary>
  27637. Return error information string
  27638. </summary>
  27639. <returns>error information string</returns>
  27640. <remarks>
  27641. <para>
  27642. Return error information string
  27643. </para>
  27644. </remarks>
  27645. </member>
  27646. <member name="M:log4net.Util.NativeError.FormatMessage(System.Int32,System.IntPtr@,System.Int32,System.Int32,System.String@,System.Int32,System.IntPtr)">
  27647. <summary>
  27648. Formats a message string.
  27649. </summary>
  27650. <param name="dwFlags">Formatting options, and how to interpret the <paramref name="lpSource" /> parameter.</param>
  27651. <param name="lpSource">Location of the message definition.</param>
  27652. <param name="dwMessageId">Message identifier for the requested message.</param>
  27653. <param name="dwLanguageId">Language identifier for the requested message.</param>
  27654. <param name="lpBuffer">If <paramref name="dwFlags" /> includes FORMAT_MESSAGE_ALLOCATE_BUFFER, the function allocates a buffer using the <c>LocalAlloc</c> function, and places the pointer to the buffer at the address specified in <paramref name="lpBuffer" />.</param>
  27655. <param name="nSize">If the FORMAT_MESSAGE_ALLOCATE_BUFFER flag is not set, this parameter specifies the maximum number of TCHARs that can be stored in the output buffer. If FORMAT_MESSAGE_ALLOCATE_BUFFER is set, this parameter specifies the minimum number of TCHARs to allocate for an output buffer.</param>
  27656. <param name="Arguments">Pointer to an array of values that are used as insert values in the formatted message.</param>
  27657. <remarks>
  27658. <para>
  27659. The function requires a message definition as input. The message definition can come from a
  27660. buffer passed into the function. It can come from a message table resource in an
  27661. already-loaded module. Or the caller can ask the function to search the system's message
  27662. table resource(s) for the message definition. The function finds the message definition
  27663. in a message table resource based on a message identifier and a language identifier.
  27664. The function copies the formatted message text to an output buffer, processing any embedded
  27665. insert sequences if requested.
  27666. </para>
  27667. <para>
  27668. To prevent the usage of unsafe code, this stub does not support inserting values in the formatted message.
  27669. </para>
  27670. </remarks>
  27671. <returns>
  27672. <para>
  27673. If the function succeeds, the return value is the number of TCHARs stored in the output
  27674. buffer, excluding the terminating null character.
  27675. </para>
  27676. <para>
  27677. If the function fails, the return value is zero. To get extended error information,
  27678. call <see cref="M:Marshal.GetLastWin32Error()" />.
  27679. </para>
  27680. </returns>
  27681. </member>
  27682. <member name="T:log4net.Util.NullDictionaryEnumerator">
  27683. <summary>
  27684. An always empty <see cref="T:System.Collections.IDictionaryEnumerator"/>.
  27685. </summary>
  27686. <remarks>
  27687. <para>
  27688. A singleton implementation of the <see cref="T:System.Collections.IDictionaryEnumerator"/> over a collection
  27689. that is empty and not modifiable.
  27690. </para>
  27691. </remarks>
  27692. <author>Nicko Cadell</author>
  27693. <author>Gert Driesen</author>
  27694. </member>
  27695. <member name="M:log4net.Util.NullDictionaryEnumerator.#ctor">
  27696. <summary>
  27697. Initializes a new instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator" /> class.
  27698. </summary>
  27699. <remarks>
  27700. <para>
  27701. Uses a private access modifier to enforce the singleton pattern.
  27702. </para>
  27703. </remarks>
  27704. </member>
  27705. <member name="P:log4net.Util.NullDictionaryEnumerator.Instance">
  27706. <summary>
  27707. Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator" />.
  27708. </summary>
  27709. <returns>The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator" />.</returns>
  27710. <remarks>
  27711. <para>
  27712. Gets the singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator" />.
  27713. </para>
  27714. </remarks>
  27715. </member>
  27716. <member name="P:log4net.Util.NullDictionaryEnumerator.Current">
  27717. <summary>
  27718. Gets the current object from the enumerator.
  27719. </summary>
  27720. <remarks>
  27721. Throws an <see cref="T:System.InvalidOperationException" /> because the
  27722. <see cref="T:log4net.Util.NullDictionaryEnumerator" /> never has a current value.
  27723. </remarks>
  27724. <remarks>
  27725. <para>
  27726. As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27727. value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27728. will throw an <see cref="T:System.InvalidOperationException"/>.
  27729. </para>
  27730. </remarks>
  27731. <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27732. cannot be positioned over a valid location.</exception>
  27733. </member>
  27734. <member name="M:log4net.Util.NullDictionaryEnumerator.MoveNext">
  27735. <summary>
  27736. Test if the enumerator can advance, if so advance.
  27737. </summary>
  27738. <returns><c>false</c> as the <see cref="T:log4net.Util.NullDictionaryEnumerator" /> cannot advance.</returns>
  27739. <remarks>
  27740. <para>
  27741. As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27742. value cannot be moved over a valid position, therefore <see cref="M:log4net.Util.NullDictionaryEnumerator.MoveNext"/>
  27743. will always return <c>false</c>.
  27744. </para>
  27745. </remarks>
  27746. </member>
  27747. <member name="M:log4net.Util.NullDictionaryEnumerator.Reset">
  27748. <summary>
  27749. Resets the enumerator back to the start.
  27750. </summary>
  27751. <remarks>
  27752. <para>
  27753. As the enumerator is over an empty collection <see cref="M:log4net.Util.NullDictionaryEnumerator.Reset"/> does nothing.
  27754. </para>
  27755. </remarks>
  27756. </member>
  27757. <member name="P:log4net.Util.NullDictionaryEnumerator.Key">
  27758. <summary>
  27759. Gets the current key from the enumerator.
  27760. </summary>
  27761. <remarks>
  27762. Throws an exception because the <see cref="T:log4net.Util.NullDictionaryEnumerator" />
  27763. never has a current value.
  27764. </remarks>
  27765. <remarks>
  27766. <para>
  27767. As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27768. value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Key"/>
  27769. will throw an <see cref="T:System.InvalidOperationException"/>.
  27770. </para>
  27771. </remarks>
  27772. <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27773. cannot be positioned over a valid location.</exception>
  27774. </member>
  27775. <member name="P:log4net.Util.NullDictionaryEnumerator.Value">
  27776. <summary>
  27777. Gets the current value from the enumerator.
  27778. </summary>
  27779. <value>The current value from the enumerator.</value>
  27780. <remarks>
  27781. Throws an <see cref="T:System.InvalidOperationException" /> because the
  27782. <see cref="T:log4net.Util.NullDictionaryEnumerator" /> never has a current value.
  27783. </remarks>
  27784. <remarks>
  27785. <para>
  27786. As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27787. value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Value"/>
  27788. will throw an <see cref="T:System.InvalidOperationException"/>.
  27789. </para>
  27790. </remarks>
  27791. <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27792. cannot be positioned over a valid location.</exception>
  27793. </member>
  27794. <member name="P:log4net.Util.NullDictionaryEnumerator.Entry">
  27795. <summary>
  27796. Gets the current entry from the enumerator.
  27797. </summary>
  27798. <remarks>
  27799. Throws an <see cref="T:System.InvalidOperationException" /> because the
  27800. <see cref="T:log4net.Util.NullDictionaryEnumerator" /> never has a current entry.
  27801. </remarks>
  27802. <remarks>
  27803. <para>
  27804. As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27805. value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullDictionaryEnumerator.Entry"/>
  27806. will throw an <see cref="T:System.InvalidOperationException"/>.
  27807. </para>
  27808. </remarks>
  27809. <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullDictionaryEnumerator.Current"/>
  27810. cannot be positioned over a valid location.</exception>
  27811. </member>
  27812. <member name="F:log4net.Util.NullDictionaryEnumerator.s_instance">
  27813. <summary>
  27814. The singleton instance of the <see cref="T:log4net.Util.NullDictionaryEnumerator" />.
  27815. </summary>
  27816. </member>
  27817. <member name="T:log4net.Util.NullEnumerator">
  27818. <summary>
  27819. An always empty <see cref="T:System.Collections.IEnumerator"/>.
  27820. </summary>
  27821. <remarks>
  27822. <para>
  27823. A singleton implementation of the <see cref="T:System.Collections.IEnumerator"/> over a collection
  27824. that is empty and not modifiable.
  27825. </para>
  27826. </remarks>
  27827. <author>Nicko Cadell</author>
  27828. <author>Gert Driesen</author>
  27829. </member>
  27830. <member name="M:log4net.Util.NullEnumerator.#ctor">
  27831. <summary>
  27832. Initializes a new instance of the <see cref="T:log4net.Util.NullEnumerator" /> class.
  27833. </summary>
  27834. <remarks>
  27835. <para>
  27836. Uses a private access modifier to enforce the singleton pattern.
  27837. </para>
  27838. </remarks>
  27839. </member>
  27840. <member name="P:log4net.Util.NullEnumerator.Instance">
  27841. <summary>
  27842. Get the singleton instance of the <see cref="T:log4net.Util.NullEnumerator" />.
  27843. </summary>
  27844. <returns>The singleton instance of the <see cref="T:log4net.Util.NullEnumerator" />.</returns>
  27845. <remarks>
  27846. <para>
  27847. Gets the singleton instance of the <see cref="T:log4net.Util.NullEnumerator" />.
  27848. </para>
  27849. </remarks>
  27850. </member>
  27851. <member name="P:log4net.Util.NullEnumerator.Current">
  27852. <summary>
  27853. Gets the current object from the enumerator.
  27854. </summary>
  27855. <remarks>
  27856. Throws an <see cref="T:System.InvalidOperationException" /> because the
  27857. <see cref="T:log4net.Util.NullDictionaryEnumerator" /> never has a current value.
  27858. </remarks>
  27859. <remarks>
  27860. <para>
  27861. As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullEnumerator.Current"/>
  27862. value cannot be moved over a valid position, therefore <see cref="P:log4net.Util.NullEnumerator.Current"/>
  27863. will throw an <see cref="T:System.InvalidOperationException"/>.
  27864. </para>
  27865. </remarks>
  27866. <exception cref="T:System.InvalidOperationException">The collection is empty and <see cref="P:log4net.Util.NullEnumerator.Current"/>
  27867. cannot be positioned over a valid location.</exception>
  27868. </member>
  27869. <member name="M:log4net.Util.NullEnumerator.MoveNext">
  27870. <summary>
  27871. Test if the enumerator can advance, if so advance
  27872. </summary>
  27873. <returns><c>false</c> as the <see cref="T:log4net.Util.NullEnumerator" /> cannot advance.</returns>
  27874. <remarks>
  27875. <para>
  27876. As the enumerator is over an empty collection its <see cref="P:log4net.Util.NullEnumerator.Current"/>
  27877. value cannot be moved over a valid position, therefore <see cref="M:log4net.Util.NullEnumerator.MoveNext"/>
  27878. will always return <c>false</c>.
  27879. </para>
  27880. </remarks>
  27881. </member>
  27882. <member name="M:log4net.Util.NullEnumerator.Reset">
  27883. <summary>
  27884. Resets the enumerator back to the start.
  27885. </summary>
  27886. <remarks>
  27887. <para>
  27888. As the enumerator is over an empty collection <see cref="M:log4net.Util.NullEnumerator.Reset"/> does nothing.
  27889. </para>
  27890. </remarks>
  27891. </member>
  27892. <member name="F:log4net.Util.NullEnumerator.s_instance">
  27893. <summary>
  27894. The singleton instance of the <see cref="T:log4net.Util.NullEnumerator" />.
  27895. </summary>
  27896. </member>
  27897. <member name="T:log4net.Util.NullSecurityContext">
  27898. <summary>
  27899. A SecurityContext used when a SecurityContext is not required
  27900. </summary>
  27901. <remarks>
  27902. <para>
  27903. The <see cref="T:log4net.Util.NullSecurityContext"/> is a no-op implementation of the
  27904. <see cref="T:log4net.Core.SecurityContext"/> base class. It is used where a <see cref="T:log4net.Core.SecurityContext"/>
  27905. is required but one has not been provided.
  27906. </para>
  27907. </remarks>
  27908. <author>Nicko Cadell</author>
  27909. </member>
  27910. <member name="F:log4net.Util.NullSecurityContext.Instance">
  27911. <summary>
  27912. Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
  27913. </summary>
  27914. <remarks>
  27915. <para>
  27916. Singleton instance of <see cref="T:log4net.Util.NullSecurityContext"/>
  27917. </para>
  27918. </remarks>
  27919. </member>
  27920. <member name="M:log4net.Util.NullSecurityContext.#ctor">
  27921. <summary>
  27922. Private constructor
  27923. </summary>
  27924. <remarks>
  27925. <para>
  27926. Private constructor for singleton pattern.
  27927. </para>
  27928. </remarks>
  27929. </member>
  27930. <member name="M:log4net.Util.NullSecurityContext.Impersonate(System.Object)">
  27931. <summary>
  27932. Impersonate this SecurityContext
  27933. </summary>
  27934. <param name="state">State supplied by the caller</param>
  27935. <returns><c>null</c></returns>
  27936. <remarks>
  27937. <para>
  27938. No impersonation is done and <c>null</c> is always returned.
  27939. </para>
  27940. </remarks>
  27941. </member>
  27942. <member name="T:log4net.Util.OnlyOnceErrorHandler">
  27943. <summary>
  27944. Implements log4net's default error handling policy which consists
  27945. of emitting a message for the first error in an appender and
  27946. ignoring all subsequent errors.
  27947. </summary>
  27948. <remarks>
  27949. <para>
  27950. The error message is processed using the LogLog sub-system by default.
  27951. </para>
  27952. <para>
  27953. This policy aims at protecting an otherwise working application
  27954. from being flooded with error messages when logging fails.
  27955. </para>
  27956. </remarks>
  27957. <author>Nicko Cadell</author>
  27958. <author>Gert Driesen</author>
  27959. <author>Ron Grabowski</author>
  27960. </member>
  27961. <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor">
  27962. <summary>
  27963. Default Constructor
  27964. </summary>
  27965. <remarks>
  27966. <para>
  27967. Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler" /> class.
  27968. </para>
  27969. </remarks>
  27970. </member>
  27971. <member name="M:log4net.Util.OnlyOnceErrorHandler.#ctor(System.String)">
  27972. <summary>
  27973. Constructor
  27974. </summary>
  27975. <param name="prefix">The prefix to use for each message.</param>
  27976. <remarks>
  27977. <para>
  27978. Initializes a new instance of the <see cref="T:log4net.Util.OnlyOnceErrorHandler" /> class
  27979. with the specified prefix.
  27980. </para>
  27981. </remarks>
  27982. </member>
  27983. <member name="M:log4net.Util.OnlyOnceErrorHandler.Reset">
  27984. <summary>
  27985. Reset the error handler back to its initial disabled state.
  27986. </summary>
  27987. </member>
  27988. <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception,log4net.Core.ErrorCode)">
  27989. <summary>
  27990. Log an Error
  27991. </summary>
  27992. <param name="message">The error message.</param>
  27993. <param name="e">The exception.</param>
  27994. <param name="errorCode">The internal error code.</param>
  27995. <remarks>
  27996. <para>
  27997. Invokes <see cref="M:log4net.Util.OnlyOnceErrorHandler.FirstError(System.String,System.Exception,log4net.Core.ErrorCode)"/> if and only if this is the first error or the first error after <see cref="M:log4net.Util.OnlyOnceErrorHandler.Reset"/> has been called.
  27998. </para>
  27999. </remarks>
  28000. </member>
  28001. <member name="M:log4net.Util.OnlyOnceErrorHandler.FirstError(System.String,System.Exception,log4net.Core.ErrorCode)">
  28002. <summary>
  28003. Log the very first error
  28004. </summary>
  28005. <param name="message">The error message.</param>
  28006. <param name="e">The exception.</param>
  28007. <param name="errorCode">The internal error code.</param>
  28008. <remarks>
  28009. <para>
  28010. Sends the error information to <see cref="T:log4net.Util.LogLog"/>'s Error method.
  28011. </para>
  28012. </remarks>
  28013. </member>
  28014. <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String,System.Exception)">
  28015. <summary>
  28016. Log an Error
  28017. </summary>
  28018. <param name="message">The error message.</param>
  28019. <param name="e">The exception.</param>
  28020. <remarks>
  28021. <para>
  28022. Invokes <see cref="M:log4net.Util.OnlyOnceErrorHandler.FirstError(System.String,System.Exception,log4net.Core.ErrorCode)"/> if and only if this is the first error or the first error after <see cref="M:log4net.Util.OnlyOnceErrorHandler.Reset"/> has been called.
  28023. </para>
  28024. </remarks>
  28025. </member>
  28026. <member name="M:log4net.Util.OnlyOnceErrorHandler.Error(System.String)">
  28027. <summary>
  28028. Log an error
  28029. </summary>
  28030. <param name="message">The error message.</param>
  28031. <remarks>
  28032. <para>
  28033. Invokes <see cref="M:log4net.Util.OnlyOnceErrorHandler.FirstError(System.String,System.Exception,log4net.Core.ErrorCode)"/> if and only if this is the first error or the first error after <see cref="M:log4net.Util.OnlyOnceErrorHandler.Reset"/> has been called.
  28034. </para>
  28035. </remarks>
  28036. </member>
  28037. <member name="P:log4net.Util.OnlyOnceErrorHandler.IsEnabled">
  28038. <summary>
  28039. Is error logging enabled
  28040. </summary>
  28041. <remarks>
  28042. <para>
  28043. Is error logging enabled. Logging is only enabled for the
  28044. first error delivered to the <see cref="T:log4net.Util.OnlyOnceErrorHandler"/>.
  28045. </para>
  28046. </remarks>
  28047. </member>
  28048. <member name="P:log4net.Util.OnlyOnceErrorHandler.EnabledDate">
  28049. <summary>
  28050. The date the first error that trigged this error handler occurred, or <see cref="F:System.DateTime.MinValue"/> if it has not been triggered.
  28051. </summary>
  28052. </member>
  28053. <member name="P:log4net.Util.OnlyOnceErrorHandler.EnabledDateUtc">
  28054. <summary>
  28055. The UTC date the first error that trigged this error handler occured, or <see cref="F:System.DateTime.MinValue"/> if it has not been triggered.
  28056. </summary>
  28057. </member>
  28058. <member name="P:log4net.Util.OnlyOnceErrorHandler.ErrorMessage">
  28059. <summary>
  28060. The message from the first error that trigged this error handler.
  28061. </summary>
  28062. </member>
  28063. <member name="P:log4net.Util.OnlyOnceErrorHandler.Exception">
  28064. <summary>
  28065. The exception from the first error that trigged this error handler.
  28066. </summary>
  28067. <remarks>
  28068. May be <see langword="null" />.
  28069. </remarks>
  28070. </member>
  28071. <member name="P:log4net.Util.OnlyOnceErrorHandler.ErrorCode">
  28072. <summary>
  28073. The error code from the first error that trigged this error handler.
  28074. </summary>
  28075. <remarks>
  28076. Defaults to <see cref="F:log4net.Core.ErrorCode.GenericFailure"/>
  28077. </remarks>
  28078. </member>
  28079. <member name="F:log4net.Util.OnlyOnceErrorHandler.m_enabledDateUtc">
  28080. <summary>
  28081. The UTC date the error was recorded.
  28082. </summary>
  28083. </member>
  28084. <member name="F:log4net.Util.OnlyOnceErrorHandler.m_firstTime">
  28085. <summary>
  28086. Flag to indicate if it is the first error
  28087. </summary>
  28088. </member>
  28089. <member name="F:log4net.Util.OnlyOnceErrorHandler.m_message">
  28090. <summary>
  28091. The message recorded during the first error.
  28092. </summary>
  28093. </member>
  28094. <member name="F:log4net.Util.OnlyOnceErrorHandler.m_exception">
  28095. <summary>
  28096. The exception recorded during the first error.
  28097. </summary>
  28098. </member>
  28099. <member name="F:log4net.Util.OnlyOnceErrorHandler.m_errorCode">
  28100. <summary>
  28101. The error code recorded during the first error.
  28102. </summary>
  28103. </member>
  28104. <member name="F:log4net.Util.OnlyOnceErrorHandler.m_prefix">
  28105. <summary>
  28106. String to prefix each message with
  28107. </summary>
  28108. </member>
  28109. <member name="F:log4net.Util.OnlyOnceErrorHandler.declaringType">
  28110. <summary>
  28111. The fully qualified type of the OnlyOnceErrorHandler class.
  28112. </summary>
  28113. <remarks>
  28114. Used by the internal logger to record the Type of the
  28115. log message.
  28116. </remarks>
  28117. </member>
  28118. <member name="T:log4net.Util.OptionConverter">
  28119. <summary>
  28120. A convenience class to convert property values to specific types.
  28121. </summary>
  28122. <remarks>
  28123. <para>
  28124. Utility functions for converting types and parsing values.
  28125. </para>
  28126. </remarks>
  28127. <author>Nicko Cadell</author>
  28128. <author>Gert Driesen</author>
  28129. </member>
  28130. <member name="M:log4net.Util.OptionConverter.#ctor">
  28131. <summary>
  28132. Initializes a new instance of the <see cref="T:log4net.Util.OptionConverter" /> class.
  28133. </summary>
  28134. <remarks>
  28135. <para>
  28136. Uses a private access modifier to prevent instantiation of this class.
  28137. </para>
  28138. </remarks>
  28139. </member>
  28140. <member name="M:log4net.Util.OptionConverter.ToBoolean(System.String,System.Boolean)">
  28141. <summary>
  28142. Converts a string to a <see cref="T:System.Boolean" /> value.
  28143. </summary>
  28144. <param name="argValue">String to convert.</param>
  28145. <param name="defaultValue">The default value.</param>
  28146. <returns>The <see cref="T:System.Boolean" /> value of <paramref name="argValue" />.</returns>
  28147. <remarks>
  28148. <para>
  28149. If <paramref name="argValue"/> is "true", then <c>true</c> is returned.
  28150. If <paramref name="argValue"/> is "false", then <c>false</c> is returned.
  28151. Otherwise, <paramref name="defaultValue"/> is returned.
  28152. </para>
  28153. </remarks>
  28154. </member>
  28155. <member name="M:log4net.Util.OptionConverter.ToFileSize(System.String,System.Int64)">
  28156. <summary>
  28157. Parses a file size into a number.
  28158. </summary>
  28159. <param name="argValue">String to parse.</param>
  28160. <param name="defaultValue">The default value.</param>
  28161. <returns>The <see cref="T:System.Int64" /> value of <paramref name="argValue" />.</returns>
  28162. <remarks>
  28163. <para>
  28164. Parses a file size of the form: number[KB|MB|GB] into a
  28165. long value. It is scaled with the appropriate multiplier.
  28166. </para>
  28167. <para>
  28168. <paramref name="defaultValue"/> is returned when <paramref name="argValue"/>
  28169. cannot be converted to a <see cref="T:System.Int64" /> value.
  28170. </para>
  28171. </remarks>
  28172. </member>
  28173. <member name="M:log4net.Util.OptionConverter.ConvertStringTo(System.Type,System.String)">
  28174. <summary>
  28175. Converts a string to an object.
  28176. </summary>
  28177. <param name="target">The target type to convert to.</param>
  28178. <param name="txt">The string to convert to an object.</param>
  28179. <returns>
  28180. The object converted from a string or <c>null</c> when the
  28181. conversion failed.
  28182. </returns>
  28183. <remarks>
  28184. <para>
  28185. Converts a string to an object. Uses the converter registry to try
  28186. to convert the string value into the specified target type.
  28187. </para>
  28188. </remarks>
  28189. </member>
  28190. <member name="M:log4net.Util.OptionConverter.CanConvertTypeTo(System.Type,System.Type)">
  28191. <summary>
  28192. Checks if there is an appropriate type conversion from the source type to the target type.
  28193. </summary>
  28194. <param name="sourceType">The type to convert from.</param>
  28195. <param name="targetType">The type to convert to.</param>
  28196. <returns><c>true</c> if there is a conversion from the source type to the target type.</returns>
  28197. <remarks>
  28198. Checks if there is an appropriate type conversion from the source type to the target type.
  28199. <para>
  28200. </para>
  28201. </remarks>
  28202. </member>
  28203. <member name="M:log4net.Util.OptionConverter.ConvertTypeTo(System.Object,System.Type)">
  28204. <summary>
  28205. Converts an object to the target type.
  28206. </summary>
  28207. <param name="sourceInstance">The object to convert to the target type.</param>
  28208. <param name="targetType">The type to convert to.</param>
  28209. <returns>The converted object.</returns>
  28210. <remarks>
  28211. <para>
  28212. Converts an object to the target type.
  28213. </para>
  28214. </remarks>
  28215. </member>
  28216. <member name="M:log4net.Util.OptionConverter.InstantiateByClassName(System.String,System.Type,System.Object)">
  28217. <summary>
  28218. Instantiates an object given a class name.
  28219. </summary>
  28220. <param name="className">The fully qualified class name of the object to instantiate.</param>
  28221. <param name="superClass">The class to which the new object should belong.</param>
  28222. <param name="defaultValue">The object to return in case of non-fulfillment.</param>
  28223. <returns>
  28224. An instance of the <paramref name="className"/> or <paramref name="defaultValue"/>
  28225. if the object could not be instantiated.
  28226. </returns>
  28227. <remarks>
  28228. <para>
  28229. Checks that the <paramref name="className"/> is a subclass of
  28230. <paramref name="superClass"/>. If that test fails or the object could
  28231. not be instantiated, then <paramref name="defaultValue"/> is returned.
  28232. </para>
  28233. </remarks>
  28234. </member>
  28235. <member name="M:log4net.Util.OptionConverter.SubstituteVariables(System.String,System.Collections.IDictionary)">
  28236. <summary>
  28237. Performs variable substitution in string <paramref name="value"/> from the
  28238. values of keys found in <paramref name="props"/>.
  28239. </summary>
  28240. <param name="value">The string on which variable substitution is performed.</param>
  28241. <param name="props">The dictionary to use to lookup variables.</param>
  28242. <returns>The result of the substitutions.</returns>
  28243. <remarks>
  28244. <para>
  28245. The variable substitution delimiters are <b>${</b> and <b>}</b>.
  28246. </para>
  28247. <para>
  28248. For example, if props contains <c>key=value</c>, then the call
  28249. </para>
  28250. <para>
  28251. <code lang="C#">
  28252. string s = OptionConverter.SubstituteVariables("Value of key is ${key}.");
  28253. </code>
  28254. </para>
  28255. <para>
  28256. will set the variable <c>s</c> to "Value of key is value.".
  28257. </para>
  28258. <para>
  28259. If no value could be found for the specified key, then substitution
  28260. defaults to an empty string.
  28261. </para>
  28262. <para>
  28263. For example, if system properties contains no value for the key
  28264. "nonExistentKey", then the call
  28265. </para>
  28266. <para>
  28267. <code lang="C#">
  28268. string s = OptionConverter.SubstituteVariables("Value of nonExistentKey is [${nonExistentKey}]");
  28269. </code>
  28270. </para>
  28271. <para>
  28272. will set <s>s</s> to "Value of nonExistentKey is []".
  28273. </para>
  28274. <para>
  28275. An Exception is thrown if <paramref name="value"/> contains a start
  28276. delimiter "${" which is not balanced by a stop delimiter "}".
  28277. </para>
  28278. </remarks>
  28279. </member>
  28280. <member name="M:log4net.Util.OptionConverter.ParseEnum(System.Type,System.String,System.Boolean)">
  28281. <summary>
  28282. Converts the string representation of the name or numeric value of one or
  28283. more enumerated constants to an equivalent enumerated object.
  28284. </summary>
  28285. <param name="enumType">The type to convert to.</param>
  28286. <param name="value">The enum string value.</param>
  28287. <param name="ignoreCase">If <c>true</c>, ignore case; otherwise, regard case.</param>
  28288. <returns>An object of type <paramref name="enumType" /> whose value is represented by <paramref name="value" />.</returns>
  28289. </member>
  28290. <member name="F:log4net.Util.OptionConverter.declaringType">
  28291. <summary>
  28292. The fully qualified type of the OptionConverter class.
  28293. </summary>
  28294. <remarks>
  28295. Used by the internal logger to record the Type of the
  28296. log message.
  28297. </remarks>
  28298. </member>
  28299. <member name="T:log4net.Util.PatternConverter">
  28300. <summary>
  28301. Abstract class that provides the formatting functionality that
  28302. derived classes need.
  28303. </summary>
  28304. <remarks>
  28305. <para>
  28306. Conversion specifiers in a conversion patterns are parsed to
  28307. individual PatternConverters. Each of which is responsible for
  28308. converting a logging event in a converter specific manner.
  28309. </para>
  28310. </remarks>
  28311. <author>Nicko Cadell</author>
  28312. <author>Gert Driesen</author>
  28313. </member>
  28314. <member name="M:log4net.Util.PatternConverter.#ctor">
  28315. <summary>
  28316. Protected constructor
  28317. </summary>
  28318. <remarks>
  28319. <para>
  28320. Initializes a new instance of the <see cref="T:log4net.Util.PatternConverter" /> class.
  28321. </para>
  28322. </remarks>
  28323. </member>
  28324. <member name="P:log4net.Util.PatternConverter.Next">
  28325. <summary>
  28326. Get the next pattern converter in the chain
  28327. </summary>
  28328. <value>
  28329. the next pattern converter in the chain
  28330. </value>
  28331. <remarks>
  28332. <para>
  28333. Get the next pattern converter in the chain
  28334. </para>
  28335. </remarks>
  28336. </member>
  28337. <member name="P:log4net.Util.PatternConverter.FormattingInfo">
  28338. <summary>
  28339. Gets or sets the formatting info for this converter
  28340. </summary>
  28341. <value>
  28342. The formatting info for this converter
  28343. </value>
  28344. <remarks>
  28345. <para>
  28346. Gets or sets the formatting info for this converter
  28347. </para>
  28348. </remarks>
  28349. </member>
  28350. <member name="P:log4net.Util.PatternConverter.Option">
  28351. <summary>
  28352. Gets or sets the option value for this converter
  28353. </summary>
  28354. <summary>
  28355. The option for this converter
  28356. </summary>
  28357. <remarks>
  28358. <para>
  28359. Gets or sets the option value for this converter
  28360. </para>
  28361. </remarks>
  28362. </member>
  28363. <member name="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)">
  28364. <summary>
  28365. Evaluate this pattern converter and write the output to a writer.
  28366. </summary>
  28367. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  28368. <param name="state">The state object on which the pattern converter should be executed.</param>
  28369. <remarks>
  28370. <para>
  28371. Derived pattern converters must override this method in order to
  28372. convert conversion specifiers in the appropriate way.
  28373. </para>
  28374. </remarks>
  28375. </member>
  28376. <member name="M:log4net.Util.PatternConverter.SetNext(log4net.Util.PatternConverter)">
  28377. <summary>
  28378. Set the next pattern converter in the chains
  28379. </summary>
  28380. <param name="patternConverter">the pattern converter that should follow this converter in the chain</param>
  28381. <returns>the next converter</returns>
  28382. <remarks>
  28383. <para>
  28384. The PatternConverter can merge with its neighbor during this method (or a sub class).
  28385. Therefore the return value may or may not be the value of the argument passed in.
  28386. </para>
  28387. </remarks>
  28388. </member>
  28389. <member name="M:log4net.Util.PatternConverter.Format(System.IO.TextWriter,System.Object)">
  28390. <summary>
  28391. Write the pattern converter to the writer with appropriate formatting
  28392. </summary>
  28393. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  28394. <param name="state">The state object on which the pattern converter should be executed.</param>
  28395. <remarks>
  28396. <para>
  28397. This method calls <see cref="M:log4net.Util.PatternConverter.Convert(System.IO.TextWriter,System.Object)"/> to allow the subclass to perform
  28398. appropriate conversion of the pattern converter. If formatting options have
  28399. been specified via the <see cref="P:log4net.Util.PatternConverter.FormattingInfo"/> then this method will
  28400. apply those formattings before writing the output.
  28401. </para>
  28402. </remarks>
  28403. </member>
  28404. <member name="M:log4net.Util.PatternConverter.SpacePad(System.IO.TextWriter,System.Int32)">
  28405. <summary>
  28406. Fast space padding method.
  28407. </summary>
  28408. <param name="writer"><see cref="T:System.IO.TextWriter" /> to which the spaces will be appended.</param>
  28409. <param name="length">The number of spaces to be padded.</param>
  28410. <remarks>
  28411. <para>
  28412. Fast space padding method.
  28413. </para>
  28414. </remarks>
  28415. </member>
  28416. <member name="F:log4net.Util.PatternConverter.m_option">
  28417. <summary>
  28418. The option string to the converter
  28419. </summary>
  28420. </member>
  28421. <member name="F:log4net.Util.PatternConverter.c_renderBufferSize">
  28422. <summary>
  28423. Initial buffer size
  28424. </summary>
  28425. </member>
  28426. <member name="F:log4net.Util.PatternConverter.c_renderBufferMaxCapacity">
  28427. <summary>
  28428. Maximum buffer size before it is recycled
  28429. </summary>
  28430. </member>
  28431. <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionary)">
  28432. <summary>
  28433. Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
  28434. </summary>
  28435. <param name="writer">the writer to write to</param>
  28436. <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
  28437. <param name="value">the value to write to the writer</param>
  28438. <remarks>
  28439. <para>
  28440. Writes the <see cref="T:System.Collections.IDictionary"/> to a writer in the form:
  28441. </para>
  28442. <code>
  28443. {key1=value1, key2=value2, key3=value3}
  28444. </code>
  28445. <para>
  28446. If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
  28447. is not null then it is used to render the key and value to text, otherwise
  28448. the object's ToString method is called.
  28449. </para>
  28450. </remarks>
  28451. </member>
  28452. <member name="M:log4net.Util.PatternConverter.WriteDictionary(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Collections.IDictionaryEnumerator)">
  28453. <summary>
  28454. Write an dictionary to a <see cref="T:System.IO.TextWriter"/>
  28455. </summary>
  28456. <param name="writer">the writer to write to</param>
  28457. <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
  28458. <param name="value">the value to write to the writer</param>
  28459. <remarks>
  28460. <para>
  28461. Writes the <see cref="T:System.Collections.IDictionaryEnumerator"/> to a writer in the form:
  28462. </para>
  28463. <code>
  28464. {key1=value1, key2=value2, key3=value3}
  28465. </code>
  28466. <para>
  28467. If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
  28468. is not null then it is used to render the key and value to text, otherwise
  28469. the object's ToString method is called.
  28470. </para>
  28471. </remarks>
  28472. </member>
  28473. <member name="M:log4net.Util.PatternConverter.WriteObject(System.IO.TextWriter,log4net.Repository.ILoggerRepository,System.Object)">
  28474. <summary>
  28475. Write an object to a <see cref="T:System.IO.TextWriter"/>
  28476. </summary>
  28477. <param name="writer">the writer to write to</param>
  28478. <param name="repository">a <see cref="T:log4net.Repository.ILoggerRepository"/> to use for object conversion</param>
  28479. <param name="value">the value to write to the writer</param>
  28480. <remarks>
  28481. <para>
  28482. Writes the Object to a writer. If the <see cref="T:log4net.Repository.ILoggerRepository"/> specified
  28483. is not null then it is used to render the object to text, otherwise
  28484. the object's ToString method is called.
  28485. </para>
  28486. </remarks>
  28487. </member>
  28488. <member name="P:log4net.Util.PatternConverter.Properties">
  28489. <summary>
  28490. </summary>
  28491. </member>
  28492. <member name="T:log4net.Util.PatternParser">
  28493. <summary>
  28494. Most of the work of the <see cref="T:log4net.Layout.PatternLayout"/> class
  28495. is delegated to the PatternParser class.
  28496. </summary>
  28497. <remarks>
  28498. <para>
  28499. The <c>PatternParser</c> processes a pattern string and
  28500. returns a chain of <see cref="T:log4net.Util.PatternConverter"/> objects.
  28501. </para>
  28502. </remarks>
  28503. <author>Nicko Cadell</author>
  28504. <author>Gert Driesen</author>
  28505. </member>
  28506. <member name="M:log4net.Util.PatternParser.#ctor(System.String)">
  28507. <summary>
  28508. Constructor
  28509. </summary>
  28510. <param name="pattern">The pattern to parse.</param>
  28511. <remarks>
  28512. <para>
  28513. Initializes a new instance of the <see cref="T:log4net.Util.PatternParser" /> class
  28514. with the specified pattern string.
  28515. </para>
  28516. </remarks>
  28517. </member>
  28518. <member name="M:log4net.Util.PatternParser.Parse">
  28519. <summary>
  28520. Parses the pattern into a chain of pattern converters.
  28521. </summary>
  28522. <returns>The head of a chain of pattern converters.</returns>
  28523. <remarks>
  28524. <para>
  28525. Parses the pattern into a chain of pattern converters.
  28526. </para>
  28527. </remarks>
  28528. </member>
  28529. <member name="P:log4net.Util.PatternParser.PatternConverters">
  28530. <summary>
  28531. Get the converter registry used by this parser
  28532. </summary>
  28533. <value>
  28534. The converter registry used by this parser
  28535. </value>
  28536. <remarks>
  28537. <para>
  28538. Get the converter registry used by this parser
  28539. </para>
  28540. </remarks>
  28541. </member>
  28542. <member name="M:log4net.Util.PatternParser.BuildCache">
  28543. <summary>
  28544. Build the unified cache of converters from the static and instance maps
  28545. </summary>
  28546. <returns>the list of all the converter names</returns>
  28547. <remarks>
  28548. <para>
  28549. Build the unified cache of converters from the static and instance maps
  28550. </para>
  28551. </remarks>
  28552. </member>
  28553. <member name="T:log4net.Util.PatternParser.StringLengthComparer">
  28554. <summary>
  28555. Sort strings by length
  28556. </summary>
  28557. <remarks>
  28558. <para>
  28559. <see cref="T:System.Collections.IComparer" /> that orders strings by string length.
  28560. The longest strings are placed first
  28561. </para>
  28562. </remarks>
  28563. </member>
  28564. <member name="M:log4net.Util.PatternParser.ParseInternal(System.String,System.String[])">
  28565. <summary>
  28566. Internal method to parse the specified pattern to find specified matches
  28567. </summary>
  28568. <param name="pattern">the pattern to parse</param>
  28569. <param name="matches">the converter names to match in the pattern</param>
  28570. <remarks>
  28571. <para>
  28572. The matches param must be sorted such that longer strings come before shorter ones.
  28573. </para>
  28574. </remarks>
  28575. </member>
  28576. <member name="M:log4net.Util.PatternParser.ProcessLiteral(System.String)">
  28577. <summary>
  28578. Process a parsed literal
  28579. </summary>
  28580. <param name="text">the literal text</param>
  28581. </member>
  28582. <member name="M:log4net.Util.PatternParser.ProcessConverter(System.String,System.String,log4net.Util.FormattingInfo)">
  28583. <summary>
  28584. Process a parsed converter pattern
  28585. </summary>
  28586. <param name="converterName">the name of the converter</param>
  28587. <param name="option">the optional option for the converter</param>
  28588. <param name="formattingInfo">the formatting info for the converter</param>
  28589. </member>
  28590. <member name="M:log4net.Util.PatternParser.AddConverter(log4net.Util.PatternConverter)">
  28591. <summary>
  28592. Resets the internal state of the parser and adds the specified pattern converter
  28593. to the chain.
  28594. </summary>
  28595. <param name="pc">The pattern converter to add.</param>
  28596. </member>
  28597. <member name="F:log4net.Util.PatternParser.m_head">
  28598. <summary>
  28599. The first pattern converter in the chain
  28600. </summary>
  28601. </member>
  28602. <member name="F:log4net.Util.PatternParser.m_tail">
  28603. <summary>
  28604. the last pattern converter in the chain
  28605. </summary>
  28606. </member>
  28607. <member name="F:log4net.Util.PatternParser.m_pattern">
  28608. <summary>
  28609. The pattern
  28610. </summary>
  28611. </member>
  28612. <member name="F:log4net.Util.PatternParser.m_patternConverters">
  28613. <summary>
  28614. Internal map of converter identifiers to converter types
  28615. </summary>
  28616. <remarks>
  28617. <para>
  28618. This map overrides the static s_globalRulesRegistry map.
  28619. </para>
  28620. </remarks>
  28621. </member>
  28622. <member name="F:log4net.Util.PatternParser.declaringType">
  28623. <summary>
  28624. The fully qualified type of the PatternParser class.
  28625. </summary>
  28626. <remarks>
  28627. Used by the internal logger to record the Type of the
  28628. log message.
  28629. </remarks>
  28630. </member>
  28631. <member name="T:log4net.Util.PatternString">
  28632. <summary>
  28633. This class implements a patterned string.
  28634. </summary>
  28635. <remarks>
  28636. <para>
  28637. This string has embedded patterns that are resolved and expanded
  28638. when the string is formatted.
  28639. </para>
  28640. <para>
  28641. This class functions similarly to the <see cref="T:log4net.Layout.PatternLayout"/>
  28642. in that it accepts a pattern and renders it to a string. Unlike the
  28643. <see cref="T:log4net.Layout.PatternLayout"/> however the <c>PatternString</c>
  28644. does not render the properties of a specific <see cref="T:log4net.Core.LoggingEvent"/> but
  28645. of the process in general.
  28646. </para>
  28647. <para>
  28648. The recognized conversion pattern names are:
  28649. </para>
  28650. <list type="table">
  28651. <listheader>
  28652. <term>Conversion Pattern Name</term>
  28653. <description>Effect</description>
  28654. </listheader>
  28655. <item>
  28656. <term>appdomain</term>
  28657. <description>
  28658. <para>
  28659. Used to output the friendly name of the current AppDomain.
  28660. </para>
  28661. </description>
  28662. </item>
  28663. <item>
  28664. <term>appsetting</term>
  28665. <description>
  28666. <para>
  28667. Used to output the value of a specific appSetting key in the application
  28668. configuration file.
  28669. </para>
  28670. </description>
  28671. </item>
  28672. <item>
  28673. <term>date</term>
  28674. <description>
  28675. <para>
  28676. Used to output the current date and time in the local time zone.
  28677. To output the date in universal time use the <c>%utcdate</c> pattern.
  28678. The date conversion
  28679. specifier may be followed by a <i>date format specifier</i> enclosed
  28680. between braces. For example, <b>%date{HH:mm:ss,fff}</b> or
  28681. <b>%date{dd MMM yyyy HH:mm:ss,fff}</b>. If no date format specifier is
  28682. given then ISO8601 format is
  28683. assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
  28684. </para>
  28685. <para>
  28686. The date format specifier admits the same syntax as the
  28687. time pattern string of the <see cref="M:DateTime.ToString(string)"/>.
  28688. </para>
  28689. <para>
  28690. For better results it is recommended to use the log4net date
  28691. formatters. These can be specified using one of the strings
  28692. "ABSOLUTE", "DATE" and "ISO8601" for specifying
  28693. <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>,
  28694. <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively
  28695. <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example,
  28696. <b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
  28697. </para>
  28698. <para>
  28699. These dedicated date formatters perform significantly
  28700. better than <see cref="M:DateTime.ToString(string)"/>.
  28701. </para>
  28702. </description>
  28703. </item>
  28704. <item>
  28705. <term>env</term>
  28706. <description>
  28707. <para>
  28708. Used to output the a specific environment variable. The key to
  28709. lookup must be specified within braces and directly following the
  28710. pattern specifier, e.g. <b>%env{COMPUTERNAME}</b> would include the value
  28711. of the <c>COMPUTERNAME</c> environment variable.
  28712. </para>
  28713. <para>
  28714. The <c>env</c> pattern is not supported on the .NET Compact Framework.
  28715. </para>
  28716. </description>
  28717. </item>
  28718. <item>
  28719. <term>identity</term>
  28720. <description>
  28721. <para>
  28722. Used to output the user name for the currently active user
  28723. (Principal.Identity.Name).
  28724. </para>
  28725. </description>
  28726. </item>
  28727. <item>
  28728. <term>newline</term>
  28729. <description>
  28730. <para>
  28731. Outputs the platform dependent line separator character or
  28732. characters.
  28733. </para>
  28734. <para>
  28735. This conversion pattern name offers the same performance as using
  28736. non-portable line separator strings such as "\n", or "\r\n".
  28737. Thus, it is the preferred way of specifying a line separator.
  28738. </para>
  28739. </description>
  28740. </item>
  28741. <item>
  28742. <term>processid</term>
  28743. <description>
  28744. <para>
  28745. Used to output the system process ID for the current process.
  28746. </para>
  28747. </description>
  28748. </item>
  28749. <item>
  28750. <term>property</term>
  28751. <description>
  28752. <para>
  28753. Used to output a specific context property. The key to
  28754. lookup must be specified within braces and directly following the
  28755. pattern specifier, e.g. <b>%property{user}</b> would include the value
  28756. from the property that is keyed by the string 'user'. Each property value
  28757. that is to be included in the log must be specified separately.
  28758. Properties are stored in logging contexts. By default
  28759. the <c>log4net:HostName</c> property is set to the name of machine on
  28760. which the event was originally logged.
  28761. </para>
  28762. <para>
  28763. If no key is specified, e.g. <b>%property</b> then all the keys and their
  28764. values are printed in a comma separated list.
  28765. </para>
  28766. <para>
  28767. The properties of an event are combined from a number of different
  28768. contexts. These are listed below in the order in which they are searched.
  28769. </para>
  28770. <list type="definition">
  28771. <item>
  28772. <term>the thread properties</term>
  28773. <description>
  28774. The <see cref="P:log4net.ThreadContext.Properties"/> that are set on the current
  28775. thread. These properties are shared by all events logged on this thread.
  28776. </description>
  28777. </item>
  28778. <item>
  28779. <term>the global properties</term>
  28780. <description>
  28781. The <see cref="P:log4net.GlobalContext.Properties"/> that are set globally. These
  28782. properties are shared by all the threads in the AppDomain.
  28783. </description>
  28784. </item>
  28785. </list>
  28786. </description>
  28787. </item>
  28788. <item>
  28789. <term>random</term>
  28790. <description>
  28791. <para>
  28792. Used to output a random string of characters. The string is made up of
  28793. uppercase letters and numbers. By default the string is 4 characters long.
  28794. The length of the string can be specified within braces directly following the
  28795. pattern specifier, e.g. <b>%random{8}</b> would output an 8 character string.
  28796. </para>
  28797. </description>
  28798. </item>
  28799. <item>
  28800. <term>username</term>
  28801. <description>
  28802. <para>
  28803. Used to output the WindowsIdentity for the currently
  28804. active user.
  28805. </para>
  28806. </description>
  28807. </item>
  28808. <item>
  28809. <term>utcdate</term>
  28810. <description>
  28811. <para>
  28812. Used to output the date of the logging event in universal time.
  28813. The date conversion
  28814. specifier may be followed by a <i>date format specifier</i> enclosed
  28815. between braces. For example, <b>%utcdate{HH:mm:ss,fff}</b> or
  28816. <b>%utcdate{dd MMM yyyy HH:mm:ss,fff}</b>. If no date format specifier is
  28817. given then ISO8601 format is
  28818. assumed (<see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>).
  28819. </para>
  28820. <para>
  28821. The date format specifier admits the same syntax as the
  28822. time pattern string of the <see cref="M:DateTime.ToString(string)"/>.
  28823. </para>
  28824. <para>
  28825. For better results it is recommended to use the log4net date
  28826. formatters. These can be specified using one of the strings
  28827. "ABSOLUTE", "DATE" and "ISO8601" for specifying
  28828. <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/>,
  28829. <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> and respectively
  28830. <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/>. For example,
  28831. <b>%utcdate{ISO8601}</b> or <b>%utcdate{ABSOLUTE}</b>.
  28832. </para>
  28833. <para>
  28834. These dedicated date formatters perform significantly
  28835. better than <see cref="M:DateTime.ToString(string)"/>.
  28836. </para>
  28837. </description>
  28838. </item>
  28839. <item>
  28840. <term>%</term>
  28841. <description>
  28842. <para>
  28843. The sequence %% outputs a single percent sign.
  28844. </para>
  28845. </description>
  28846. </item>
  28847. </list>
  28848. <para>
  28849. Additional pattern converters may be registered with a specific <see cref="T:log4net.Util.PatternString"/>
  28850. instance using <see cref="M:AddConverter(ConverterInfo)"/> or
  28851. <see cref="M:AddConverter(string, Type)" />.
  28852. </para>
  28853. <para>
  28854. See the <see cref="T:log4net.Layout.PatternLayout"/> for details on the
  28855. <i>format modifiers</i> supported by the patterns.
  28856. </para>
  28857. </remarks>
  28858. <author>Nicko Cadell</author>
  28859. </member>
  28860. <member name="F:log4net.Util.PatternString.s_globalRulesRegistry">
  28861. <summary>
  28862. Internal map of converter identifiers to converter types.
  28863. </summary>
  28864. </member>
  28865. <member name="F:log4net.Util.PatternString.m_pattern">
  28866. <summary>
  28867. the pattern
  28868. </summary>
  28869. </member>
  28870. <member name="F:log4net.Util.PatternString.m_head">
  28871. <summary>
  28872. the head of the pattern converter chain
  28873. </summary>
  28874. </member>
  28875. <member name="F:log4net.Util.PatternString.m_instanceRulesRegistry">
  28876. <summary>
  28877. patterns defined on this PatternString only
  28878. </summary>
  28879. </member>
  28880. <member name="M:log4net.Util.PatternString.#cctor">
  28881. <summary>
  28882. Initialize the global registry
  28883. </summary>
  28884. </member>
  28885. <member name="M:log4net.Util.PatternString.#ctor">
  28886. <summary>
  28887. Default constructor
  28888. </summary>
  28889. <remarks>
  28890. <para>
  28891. Initialize a new instance of <see cref="T:log4net.Util.PatternString"/>
  28892. </para>
  28893. </remarks>
  28894. </member>
  28895. <member name="M:log4net.Util.PatternString.#ctor(System.String)">
  28896. <summary>
  28897. Constructs a PatternString
  28898. </summary>
  28899. <param name="pattern">The pattern to use with this PatternString</param>
  28900. <remarks>
  28901. <para>
  28902. Initialize a new instance of <see cref="T:log4net.Util.PatternString"/> with the pattern specified.
  28903. </para>
  28904. </remarks>
  28905. </member>
  28906. <member name="P:log4net.Util.PatternString.ConversionPattern">
  28907. <summary>
  28908. Gets or sets the pattern formatting string
  28909. </summary>
  28910. <value>
  28911. The pattern formatting string
  28912. </value>
  28913. <remarks>
  28914. <para>
  28915. The <b>ConversionPattern</b> option. This is the string which
  28916. controls formatting and consists of a mix of literal content and
  28917. conversion specifiers.
  28918. </para>
  28919. </remarks>
  28920. </member>
  28921. <member name="M:log4net.Util.PatternString.ActivateOptions">
  28922. <summary>
  28923. Initialize object options
  28924. </summary>
  28925. <remarks>
  28926. <para>
  28927. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  28928. activation scheme. The <see cref="M:log4net.Util.PatternString.ActivateOptions"/> method must
  28929. be called on this object after the configuration properties have
  28930. been set. Until <see cref="M:log4net.Util.PatternString.ActivateOptions"/> is called this
  28931. object is in an undefined state and must not be used.
  28932. </para>
  28933. <para>
  28934. If any of the configuration properties are modified then
  28935. <see cref="M:log4net.Util.PatternString.ActivateOptions"/> must be called again.
  28936. </para>
  28937. </remarks>
  28938. </member>
  28939. <member name="M:log4net.Util.PatternString.CreatePatternParser(System.String)">
  28940. <summary>
  28941. Create the <see cref="T:log4net.Util.PatternParser"/> used to parse the pattern
  28942. </summary>
  28943. <param name="pattern">the pattern to parse</param>
  28944. <returns>The <see cref="T:log4net.Util.PatternParser"/></returns>
  28945. <remarks>
  28946. <para>
  28947. Returns PatternParser used to parse the conversion string. Subclasses
  28948. may override this to return a subclass of PatternParser which recognize
  28949. custom conversion pattern name.
  28950. </para>
  28951. </remarks>
  28952. </member>
  28953. <member name="M:log4net.Util.PatternString.Format(System.IO.TextWriter)">
  28954. <summary>
  28955. Produces a formatted string as specified by the conversion pattern.
  28956. </summary>
  28957. <param name="writer">The TextWriter to write the formatted event to</param>
  28958. <remarks>
  28959. <para>
  28960. Format the pattern to the <paramref name="writer"/>.
  28961. </para>
  28962. </remarks>
  28963. </member>
  28964. <member name="M:log4net.Util.PatternString.Format">
  28965. <summary>
  28966. Format the pattern as a string
  28967. </summary>
  28968. <returns>the pattern formatted as a string</returns>
  28969. <remarks>
  28970. <para>
  28971. Format the pattern to a string.
  28972. </para>
  28973. </remarks>
  28974. </member>
  28975. <member name="M:log4net.Util.PatternString.AddConverter(log4net.Util.ConverterInfo)">
  28976. <summary>
  28977. Add a converter to this PatternString
  28978. </summary>
  28979. <param name="converterInfo">the converter info</param>
  28980. <remarks>
  28981. <para>
  28982. This version of the method is used by the configurator.
  28983. Programmatic users should use the alternative <see cref="M:AddConverter(string,Type)"/> method.
  28984. </para>
  28985. </remarks>
  28986. </member>
  28987. <member name="M:log4net.Util.PatternString.AddConverter(System.String,System.Type)">
  28988. <summary>
  28989. Add a converter to this PatternString
  28990. </summary>
  28991. <param name="name">the name of the conversion pattern for this converter</param>
  28992. <param name="type">the type of the converter</param>
  28993. <remarks>
  28994. <para>
  28995. Add a converter to this PatternString
  28996. </para>
  28997. </remarks>
  28998. </member>
  28999. <member name="T:log4net.Util.PatternStringConverters.AppDomainPatternConverter">
  29000. <summary>
  29001. Write the name of the current AppDomain to the output
  29002. </summary>
  29003. <remarks>
  29004. <para>
  29005. Write the name of the current AppDomain to the output writer
  29006. </para>
  29007. </remarks>
  29008. <author>Nicko Cadell</author>
  29009. </member>
  29010. <member name="M:log4net.Util.PatternStringConverters.AppDomainPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29011. <summary>
  29012. Write the name of the current AppDomain to the output
  29013. </summary>
  29014. <param name="writer">the writer to write to</param>
  29015. <param name="state">null, state is not set</param>
  29016. <remarks>
  29017. <para>
  29018. Writes name of the current AppDomain to the output <paramref name="writer"/>.
  29019. </para>
  29020. </remarks>
  29021. </member>
  29022. <member name="T:log4net.Util.PatternStringConverters.AppSettingPatternConverter">
  29023. <summary>
  29024. AppSetting pattern converter
  29025. </summary>
  29026. <remarks>
  29027. <para>
  29028. This pattern converter reads appSettings from the application configuration file.
  29029. </para>
  29030. <para>
  29031. If the <see cref="P:log4net.Util.PatternConverter.Option"/> is specified then that will be used to
  29032. lookup a single appSettings value. If no <see cref="P:log4net.Util.PatternConverter.Option"/> is specified
  29033. then all appSettings will be dumped as a list of key value pairs.
  29034. </para>
  29035. <para>
  29036. A typical use is to specify a base directory for log files, e.g.
  29037. <example>
  29038. <![CDATA[
  29039. <log4net>
  29040. <appender name="MyAppender" type="log4net.Appender.RollingFileAppender">
  29041. <file type="log4net.Util.PatternString" value="appsetting{LogDirectory}MyApp.log"/>
  29042. ...
  29043. </appender>
  29044. </log4net>
  29045. ]]>
  29046. </example>
  29047. </para>
  29048. </remarks>
  29049. </member>
  29050. <member name="M:log4net.Util.PatternStringConverters.AppSettingPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29051. <summary>
  29052. Write the property value to the output
  29053. </summary>
  29054. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  29055. <param name="state">null, state is not set</param>
  29056. <remarks>
  29057. <para>
  29058. Writes out the value of a named property. The property name
  29059. should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
  29060. property.
  29061. </para>
  29062. <para>
  29063. If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
  29064. then all the properties are written as key value pairs.
  29065. </para>
  29066. </remarks>
  29067. </member>
  29068. <member name="T:log4net.Util.PatternStringConverters.DatePatternConverter">
  29069. <summary>
  29070. Write the current date to the output
  29071. </summary>
  29072. <remarks>
  29073. <para>
  29074. Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format
  29075. the current date and time to the writer as a string.
  29076. </para>
  29077. <para>
  29078. The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines
  29079. the formatting of the date. The following values are allowed:
  29080. <list type="definition">
  29081. <listheader>
  29082. <term>Option value</term>
  29083. <description>Output</description>
  29084. </listheader>
  29085. <item>
  29086. <term>ISO8601</term>
  29087. <description>
  29088. Uses the <see cref="T:log4net.DateFormatter.Iso8601DateFormatter"/> formatter.
  29089. Formats using the <c>"yyyy-MM-dd HH:mm:ss,fff"</c> pattern.
  29090. </description>
  29091. </item>
  29092. <item>
  29093. <term>DATE</term>
  29094. <description>
  29095. Uses the <see cref="T:log4net.DateFormatter.DateTimeDateFormatter"/> formatter.
  29096. Formats using the <c>"dd MMM yyyy HH:mm:ss,fff"</c> for example, <c>"06 Nov 1994 15:49:37,459"</c>.
  29097. </description>
  29098. </item>
  29099. <item>
  29100. <term>ABSOLUTE</term>
  29101. <description>
  29102. Uses the <see cref="T:log4net.DateFormatter.AbsoluteTimeDateFormatter"/> formatter.
  29103. Formats using the <c>"HH:mm:ss,fff"</c> for example, <c>"15:49:37,459"</c>.
  29104. </description>
  29105. </item>
  29106. <item>
  29107. <term>other</term>
  29108. <description>
  29109. Any other pattern string uses the <see cref="T:log4net.DateFormatter.SimpleDateFormatter"/> formatter.
  29110. This formatter passes the pattern string to the <see cref="T:System.DateTime"/>
  29111. <see cref="M:DateTime.ToString(string)"/> method.
  29112. For details on valid patterns see
  29113. <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp">DateTimeFormatInfo Class</a>.
  29114. </description>
  29115. </item>
  29116. </list>
  29117. </para>
  29118. <para>
  29119. The date and time is in the local time zone and is rendered in that zone.
  29120. To output the time in Universal time see <see cref="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter"/>.
  29121. </para>
  29122. </remarks>
  29123. <author>Nicko Cadell</author>
  29124. </member>
  29125. <member name="F:log4net.Util.PatternStringConverters.DatePatternConverter.m_dateFormatter">
  29126. <summary>
  29127. The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
  29128. </summary>
  29129. <remarks>
  29130. <para>
  29131. The <see cref="T:log4net.DateFormatter.IDateFormatter"/> used to render the date to a string
  29132. </para>
  29133. </remarks>
  29134. </member>
  29135. <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions">
  29136. <summary>
  29137. Initialize the converter options
  29138. </summary>
  29139. <remarks>
  29140. <para>
  29141. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  29142. activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> method must
  29143. be called on this object after the configuration properties have
  29144. been set. Until <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> is called this
  29145. object is in an undefined state and must not be used.
  29146. </para>
  29147. <para>
  29148. If any of the configuration properties are modified then
  29149. <see cref="M:log4net.Util.PatternStringConverters.DatePatternConverter.ActivateOptions"/> must be called again.
  29150. </para>
  29151. </remarks>
  29152. </member>
  29153. <member name="M:log4net.Util.PatternStringConverters.DatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29154. <summary>
  29155. Write the current date to the output
  29156. </summary>
  29157. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  29158. <param name="state">null, state is not set</param>
  29159. <remarks>
  29160. <para>
  29161. Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
  29162. for it to render it to the writer.
  29163. </para>
  29164. <para>
  29165. The date and time passed is in the local time zone.
  29166. </para>
  29167. </remarks>
  29168. </member>
  29169. <member name="F:log4net.Util.PatternStringConverters.DatePatternConverter.declaringType">
  29170. <summary>
  29171. The fully qualified type of the DatePatternConverter class.
  29172. </summary>
  29173. <remarks>
  29174. Used by the internal logger to record the Type of the
  29175. log message.
  29176. </remarks>
  29177. </member>
  29178. <member name="T:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter">
  29179. <summary>
  29180. Write an <see cref="T:System.Environment.SpecialFolder" /> folder path to the output
  29181. </summary>
  29182. <remarks>
  29183. <para>
  29184. Write an special path environment folder path to the output writer.
  29185. The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines
  29186. the name of the variable to output. <see cref="P:log4net.Util.PatternConverter.Option"/>
  29187. should be a value in the <see cref="T:System.Environment.SpecialFolder" /> enumeration.
  29188. </para>
  29189. </remarks>
  29190. <author>Ron Grabowski</author>
  29191. </member>
  29192. <member name="M:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29193. <summary>
  29194. Write an special path environment folder path to the output
  29195. </summary>
  29196. <param name="writer">the writer to write to</param>
  29197. <param name="state">null, state is not set</param>
  29198. <remarks>
  29199. <para>
  29200. Writes the special path environment folder path to the output <paramref name="writer"/>.
  29201. The name of the special path environment folder path to output must be set
  29202. using the <see cref="P:log4net.Util.PatternConverter.Option"/>
  29203. property.
  29204. </para>
  29205. </remarks>
  29206. </member>
  29207. <member name="F:log4net.Util.PatternStringConverters.EnvironmentFolderPathPatternConverter.declaringType">
  29208. <summary>
  29209. The fully qualified type of the EnvironmentFolderPathPatternConverter class.
  29210. </summary>
  29211. <remarks>
  29212. Used by the internal logger to record the Type of the
  29213. log message.
  29214. </remarks>
  29215. </member>
  29216. <member name="T:log4net.Util.PatternStringConverters.EnvironmentPatternConverter">
  29217. <summary>
  29218. Write an environment variable to the output
  29219. </summary>
  29220. <remarks>
  29221. <para>
  29222. Write an environment variable to the output writer.
  29223. The value of the <see cref="P:log4net.Util.PatternConverter.Option"/> determines
  29224. the name of the variable to output.
  29225. </para>
  29226. </remarks>
  29227. <author>Nicko Cadell</author>
  29228. </member>
  29229. <member name="M:log4net.Util.PatternStringConverters.EnvironmentPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29230. <summary>
  29231. Write an environment variable to the output
  29232. </summary>
  29233. <param name="writer">the writer to write to</param>
  29234. <param name="state">null, state is not set</param>
  29235. <remarks>
  29236. <para>
  29237. Writes the environment variable to the output <paramref name="writer"/>.
  29238. The name of the environment variable to output must be set
  29239. using the <see cref="P:log4net.Util.PatternConverter.Option"/>
  29240. property.
  29241. </para>
  29242. </remarks>
  29243. </member>
  29244. <member name="F:log4net.Util.PatternStringConverters.EnvironmentPatternConverter.declaringType">
  29245. <summary>
  29246. The fully qualified type of the EnvironmentPatternConverter class.
  29247. </summary>
  29248. <remarks>
  29249. Used by the internal logger to record the Type of the
  29250. log message.
  29251. </remarks>
  29252. </member>
  29253. <member name="T:log4net.Util.PatternStringConverters.IdentityPatternConverter">
  29254. <summary>
  29255. Write the current thread identity to the output
  29256. </summary>
  29257. <remarks>
  29258. <para>
  29259. Write the current thread identity to the output writer
  29260. </para>
  29261. </remarks>
  29262. <author>Nicko Cadell</author>
  29263. </member>
  29264. <member name="M:log4net.Util.PatternStringConverters.IdentityPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29265. <summary>
  29266. Write the current thread identity to the output
  29267. </summary>
  29268. <param name="writer">the writer to write to</param>
  29269. <param name="state">null, state is not set</param>
  29270. <remarks>
  29271. <para>
  29272. Writes the current thread identity to the output <paramref name="writer"/>.
  29273. </para>
  29274. </remarks>
  29275. </member>
  29276. <member name="F:log4net.Util.PatternStringConverters.IdentityPatternConverter.declaringType">
  29277. <summary>
  29278. The fully qualified type of the IdentityPatternConverter class.
  29279. </summary>
  29280. <remarks>
  29281. Used by the internal logger to record the Type of the
  29282. log message.
  29283. </remarks>
  29284. </member>
  29285. <member name="T:log4net.Util.PatternStringConverters.LiteralPatternConverter">
  29286. <summary>
  29287. Pattern converter for literal string instances in the pattern
  29288. </summary>
  29289. <remarks>
  29290. <para>
  29291. Writes the literal string value specified in the
  29292. <see cref="P:log4net.Util.PatternConverter.Option"/> property to
  29293. the output.
  29294. </para>
  29295. </remarks>
  29296. <author>Nicko Cadell</author>
  29297. </member>
  29298. <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.SetNext(log4net.Util.PatternConverter)">
  29299. <summary>
  29300. Set the next converter in the chain
  29301. </summary>
  29302. <param name="pc">The next pattern converter in the chain</param>
  29303. <returns>The next pattern converter</returns>
  29304. <remarks>
  29305. <para>
  29306. Special case the building of the pattern converter chain
  29307. for <see cref="T:log4net.Util.PatternStringConverters.LiteralPatternConverter"/> instances. Two adjacent
  29308. literals in the pattern can be represented by a single combined
  29309. pattern converter. This implementation detects when a
  29310. <see cref="T:log4net.Util.PatternStringConverters.LiteralPatternConverter"/> is added to the chain
  29311. after this converter and combines its value with this converter's
  29312. literal value.
  29313. </para>
  29314. </remarks>
  29315. </member>
  29316. <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Format(System.IO.TextWriter,System.Object)">
  29317. <summary>
  29318. Write the literal to the output
  29319. </summary>
  29320. <param name="writer">the writer to write to</param>
  29321. <param name="state">null, not set</param>
  29322. <remarks>
  29323. <para>
  29324. Override the formatting behavior to ignore the FormattingInfo
  29325. because we have a literal instead.
  29326. </para>
  29327. <para>
  29328. Writes the value of <see cref="P:log4net.Util.PatternConverter.Option"/>
  29329. to the output <paramref name="writer"/>.
  29330. </para>
  29331. </remarks>
  29332. </member>
  29333. <member name="M:log4net.Util.PatternStringConverters.LiteralPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29334. <summary>
  29335. Convert this pattern into the rendered message
  29336. </summary>
  29337. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  29338. <param name="state">null, not set</param>
  29339. <remarks>
  29340. <para>
  29341. This method is not used.
  29342. </para>
  29343. </remarks>
  29344. </member>
  29345. <member name="T:log4net.Util.PatternStringConverters.NewLinePatternConverter">
  29346. <summary>
  29347. Writes a newline to the output
  29348. </summary>
  29349. <remarks>
  29350. <para>
  29351. Writes the system dependent line terminator to the output.
  29352. This behavior can be overridden by setting the <see cref="P:log4net.Util.PatternConverter.Option"/>:
  29353. </para>
  29354. <list type="definition">
  29355. <listheader>
  29356. <term>Option Value</term>
  29357. <description>Output</description>
  29358. </listheader>
  29359. <item>
  29360. <term>DOS</term>
  29361. <description>DOS or Windows line terminator <c>"\r\n"</c></description>
  29362. </item>
  29363. <item>
  29364. <term>UNIX</term>
  29365. <description>UNIX line terminator <c>"\n"</c></description>
  29366. </item>
  29367. </list>
  29368. </remarks>
  29369. <author>Nicko Cadell</author>
  29370. </member>
  29371. <member name="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions">
  29372. <summary>
  29373. Initialize the converter
  29374. </summary>
  29375. <remarks>
  29376. <para>
  29377. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  29378. activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> method must
  29379. be called on this object after the configuration properties have
  29380. been set. Until <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> is called this
  29381. object is in an undefined state and must not be used.
  29382. </para>
  29383. <para>
  29384. If any of the configuration properties are modified then
  29385. <see cref="M:log4net.Util.PatternStringConverters.NewLinePatternConverter.ActivateOptions"/> must be called again.
  29386. </para>
  29387. </remarks>
  29388. </member>
  29389. <member name="T:log4net.Util.PatternStringConverters.ProcessIdPatternConverter">
  29390. <summary>
  29391. Write the current process ID to the output
  29392. </summary>
  29393. <remarks>
  29394. <para>
  29395. Write the current process ID to the output writer
  29396. </para>
  29397. </remarks>
  29398. <author>Nicko Cadell</author>
  29399. </member>
  29400. <member name="M:log4net.Util.PatternStringConverters.ProcessIdPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29401. <summary>
  29402. Write the current process ID to the output
  29403. </summary>
  29404. <param name="writer">the writer to write to</param>
  29405. <param name="state">null, state is not set</param>
  29406. <remarks>
  29407. <para>
  29408. Write the current process ID to the output <paramref name="writer"/>.
  29409. </para>
  29410. </remarks>
  29411. </member>
  29412. <member name="F:log4net.Util.PatternStringConverters.ProcessIdPatternConverter.declaringType">
  29413. <summary>
  29414. The fully qualified type of the ProcessIdPatternConverter class.
  29415. </summary>
  29416. <remarks>
  29417. Used by the internal logger to record the Type of the
  29418. log message.
  29419. </remarks>
  29420. </member>
  29421. <member name="T:log4net.Util.PatternStringConverters.PropertyPatternConverter">
  29422. <summary>
  29423. Property pattern converter
  29424. </summary>
  29425. <remarks>
  29426. <para>
  29427. This pattern converter reads the thread and global properties.
  29428. The thread properties take priority over global properties.
  29429. See <see cref="P:log4net.ThreadContext.Properties"/> for details of the
  29430. thread properties. See <see cref="P:log4net.GlobalContext.Properties"/> for
  29431. details of the global properties.
  29432. </para>
  29433. <para>
  29434. If the <see cref="P:log4net.Util.PatternConverter.Option"/> is specified then that will be used to
  29435. lookup a single property. If no <see cref="P:log4net.Util.PatternConverter.Option"/> is specified
  29436. then all properties will be dumped as a list of key value pairs.
  29437. </para>
  29438. </remarks>
  29439. <author>Nicko Cadell</author>
  29440. </member>
  29441. <member name="M:log4net.Util.PatternStringConverters.PropertyPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29442. <summary>
  29443. Write the property value to the output
  29444. </summary>
  29445. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  29446. <param name="state">null, state is not set</param>
  29447. <remarks>
  29448. <para>
  29449. Writes out the value of a named property. The property name
  29450. should be set in the <see cref="P:log4net.Util.PatternConverter.Option"/>
  29451. property.
  29452. </para>
  29453. <para>
  29454. If the <see cref="P:log4net.Util.PatternConverter.Option"/> is set to <c>null</c>
  29455. then all the properties are written as key value pairs.
  29456. </para>
  29457. </remarks>
  29458. </member>
  29459. <member name="T:log4net.Util.PatternStringConverters.RandomStringPatternConverter">
  29460. <summary>
  29461. A Pattern converter that generates a string of random characters
  29462. </summary>
  29463. <remarks>
  29464. <para>
  29465. The converter generates a string of random characters. By default
  29466. the string is length 4. This can be changed by setting the <see cref="P:log4net.Util.PatternConverter.Option"/>
  29467. to the string value of the length required.
  29468. </para>
  29469. <para>
  29470. The random characters in the string are limited to uppercase letters
  29471. and numbers only.
  29472. </para>
  29473. <para>
  29474. The random number generator used by this class is not cryptographically secure.
  29475. </para>
  29476. </remarks>
  29477. <author>Nicko Cadell</author>
  29478. </member>
  29479. <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.s_random">
  29480. <summary>
  29481. Shared random number generator
  29482. </summary>
  29483. </member>
  29484. <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.m_length">
  29485. <summary>
  29486. Length of random string to generate. Default length 4.
  29487. </summary>
  29488. </member>
  29489. <member name="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions">
  29490. <summary>
  29491. Initialize the converter options
  29492. </summary>
  29493. <remarks>
  29494. <para>
  29495. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  29496. activation scheme. The <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> method must
  29497. be called on this object after the configuration properties have
  29498. been set. Until <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> is called this
  29499. object is in an undefined state and must not be used.
  29500. </para>
  29501. <para>
  29502. If any of the configuration properties are modified then
  29503. <see cref="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.ActivateOptions"/> must be called again.
  29504. </para>
  29505. </remarks>
  29506. </member>
  29507. <member name="M:log4net.Util.PatternStringConverters.RandomStringPatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29508. <summary>
  29509. Write a randoim string to the output
  29510. </summary>
  29511. <param name="writer">the writer to write to</param>
  29512. <param name="state">null, state is not set</param>
  29513. <remarks>
  29514. <para>
  29515. Write a randoim string to the output <paramref name="writer"/>.
  29516. </para>
  29517. </remarks>
  29518. </member>
  29519. <member name="F:log4net.Util.PatternStringConverters.RandomStringPatternConverter.declaringType">
  29520. <summary>
  29521. The fully qualified type of the RandomStringPatternConverter class.
  29522. </summary>
  29523. <remarks>
  29524. Used by the internal logger to record the Type of the
  29525. log message.
  29526. </remarks>
  29527. </member>
  29528. <member name="T:log4net.Util.PatternStringConverters.UserNamePatternConverter">
  29529. <summary>
  29530. Write the current threads username to the output
  29531. </summary>
  29532. <remarks>
  29533. <para>
  29534. Write the current threads username to the output writer
  29535. </para>
  29536. </remarks>
  29537. <author>Nicko Cadell</author>
  29538. </member>
  29539. <member name="M:log4net.Util.PatternStringConverters.UserNamePatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29540. <summary>
  29541. Write the current threads username to the output
  29542. </summary>
  29543. <param name="writer">the writer to write to</param>
  29544. <param name="state">null, state is not set</param>
  29545. <remarks>
  29546. <para>
  29547. Write the current threads username to the output <paramref name="writer"/>.
  29548. </para>
  29549. </remarks>
  29550. </member>
  29551. <member name="F:log4net.Util.PatternStringConverters.UserNamePatternConverter.declaringType">
  29552. <summary>
  29553. The fully qualified type of the UserNamePatternConverter class.
  29554. </summary>
  29555. <remarks>
  29556. Used by the internal logger to record the Type of the
  29557. log message.
  29558. </remarks>
  29559. </member>
  29560. <member name="T:log4net.Util.PatternStringConverters.UtcDatePatternConverter">
  29561. <summary>
  29562. Write the UTC date time to the output
  29563. </summary>
  29564. <remarks>
  29565. <para>
  29566. Date pattern converter, uses a <see cref="T:log4net.DateFormatter.IDateFormatter"/> to format
  29567. the current date and time in Universal time.
  29568. </para>
  29569. <para>
  29570. See the <see cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/> for details on the date pattern syntax.
  29571. </para>
  29572. </remarks>
  29573. <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
  29574. <author>Nicko Cadell</author>
  29575. </member>
  29576. <member name="M:log4net.Util.PatternStringConverters.UtcDatePatternConverter.Convert(System.IO.TextWriter,System.Object)">
  29577. <summary>
  29578. Write the current date and time to the output
  29579. </summary>
  29580. <param name="writer"><see cref="T:System.IO.TextWriter" /> that will receive the formatted result.</param>
  29581. <param name="state">null, state is not set</param>
  29582. <remarks>
  29583. <para>
  29584. Pass the current date and time to the <see cref="T:log4net.DateFormatter.IDateFormatter"/>
  29585. for it to render it to the writer.
  29586. </para>
  29587. <para>
  29588. The date is in Universal time when it is rendered.
  29589. </para>
  29590. </remarks>
  29591. <seealso cref="T:log4net.Util.PatternStringConverters.DatePatternConverter"/>
  29592. </member>
  29593. <member name="F:log4net.Util.PatternStringConverters.UtcDatePatternConverter.declaringType">
  29594. <summary>
  29595. The fully qualified type of the UtcDatePatternConverter class.
  29596. </summary>
  29597. <remarks>
  29598. Used by the internal logger to record the Type of the
  29599. log message.
  29600. </remarks>
  29601. </member>
  29602. <member name="T:log4net.Util.PropertiesDictionary">
  29603. <summary>
  29604. String keyed object map.
  29605. </summary>
  29606. <remarks>
  29607. <para>
  29608. While this collection is serializable only member
  29609. objects that are serializable will
  29610. be serialized along with this collection.
  29611. </para>
  29612. </remarks>
  29613. <author>Nicko Cadell</author>
  29614. <author>Gert Driesen</author>
  29615. </member>
  29616. <member name="M:log4net.Util.PropertiesDictionary.#ctor">
  29617. <summary>
  29618. Constructor
  29619. </summary>
  29620. <remarks>
  29621. <para>
  29622. Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary" /> class.
  29623. </para>
  29624. </remarks>
  29625. </member>
  29626. <member name="M:log4net.Util.PropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
  29627. <summary>
  29628. Constructor
  29629. </summary>
  29630. <param name="propertiesDictionary">properties to copy</param>
  29631. <remarks>
  29632. <para>
  29633. Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary" /> class.
  29634. </para>
  29635. </remarks>
  29636. </member>
  29637. <member name="M:log4net.Util.PropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  29638. <summary>
  29639. Initializes a new instance of the <see cref="T:log4net.Util.PropertiesDictionary" /> class
  29640. with serialized data.
  29641. </summary>
  29642. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data.</param>
  29643. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
  29644. <remarks>
  29645. <para>
  29646. Because this class is sealed the serialization constructor is private.
  29647. </para>
  29648. </remarks>
  29649. </member>
  29650. <member name="P:log4net.Util.PropertiesDictionary.Item(System.String)">
  29651. <summary>
  29652. Gets or sets the value of the property with the specified key.
  29653. </summary>
  29654. <value>
  29655. The value of the property with the specified key.
  29656. </value>
  29657. <param name="key">The key of the property to get or set.</param>
  29658. <remarks>
  29659. <para>
  29660. The property value will only be serialized if it is serializable.
  29661. If it cannot be serialized it will be silently ignored if
  29662. a serialization operation is performed.
  29663. </para>
  29664. </remarks>
  29665. </member>
  29666. <member name="M:log4net.Util.PropertiesDictionary.Remove(System.String)">
  29667. <summary>
  29668. Remove the entry with the specified key from this dictionary
  29669. </summary>
  29670. <param name="key">the key for the entry to remove</param>
  29671. <remarks>
  29672. <para>
  29673. Remove the entry with the specified key from this dictionary
  29674. </para>
  29675. </remarks>
  29676. </member>
  29677. <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
  29678. <summary>
  29679. See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
  29680. </summary>
  29681. <returns>an enumerator</returns>
  29682. <remarks>
  29683. <para>
  29684. Returns a <see cref="T:System.Collections.IDictionaryEnumerator"/> over the contest of this collection.
  29685. </para>
  29686. </remarks>
  29687. </member>
  29688. <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
  29689. <summary>
  29690. See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
  29691. </summary>
  29692. <param name="key">the key to remove</param>
  29693. <remarks>
  29694. <para>
  29695. Remove the entry with the specified key from this dictionary
  29696. </para>
  29697. </remarks>
  29698. </member>
  29699. <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
  29700. <summary>
  29701. See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
  29702. </summary>
  29703. <param name="key">the key to lookup in the collection</param>
  29704. <returns><c>true</c> if the collection contains the specified key</returns>
  29705. <remarks>
  29706. <para>
  29707. Test if this collection contains a specified key.
  29708. </para>
  29709. </remarks>
  29710. </member>
  29711. <member name="M:log4net.Util.PropertiesDictionary.Clear">
  29712. <summary>
  29713. Remove all properties from the properties collection
  29714. </summary>
  29715. <remarks>
  29716. <para>
  29717. Remove all properties from the properties collection
  29718. </para>
  29719. </remarks>
  29720. </member>
  29721. <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
  29722. <summary>
  29723. See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
  29724. </summary>
  29725. <param name="key">the key</param>
  29726. <param name="value">the value to store for the key</param>
  29727. <remarks>
  29728. <para>
  29729. Store a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
  29730. </para>
  29731. </remarks>
  29732. <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
  29733. </member>
  29734. <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
  29735. <summary>
  29736. See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
  29737. </summary>
  29738. <value>
  29739. <c>false</c>
  29740. </value>
  29741. <remarks>
  29742. <para>
  29743. This collection is modifiable. This property always
  29744. returns <c>false</c>.
  29745. </para>
  29746. </remarks>
  29747. </member>
  29748. <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
  29749. <summary>
  29750. See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
  29751. </summary>
  29752. <value>
  29753. The value for the key specified.
  29754. </value>
  29755. <remarks>
  29756. <para>
  29757. Get or set a value for the specified <see cref="T:System.String"/> <paramref name="key"/>.
  29758. </para>
  29759. </remarks>
  29760. <exception cref="T:System.ArgumentException">Thrown if the <paramref name="key"/> is not a string</exception>
  29761. </member>
  29762. <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Values">
  29763. <summary>
  29764. See <see cref="P:System.Collections.IDictionary.Values"/>
  29765. </summary>
  29766. </member>
  29767. <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#Keys">
  29768. <summary>
  29769. See <see cref="P:System.Collections.IDictionary.Keys"/>
  29770. </summary>
  29771. </member>
  29772. <member name="P:log4net.Util.PropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
  29773. <summary>
  29774. See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
  29775. </summary>
  29776. </member>
  29777. <member name="M:log4net.Util.PropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
  29778. <summary>
  29779. See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
  29780. </summary>
  29781. <param name="array"></param>
  29782. <param name="index"></param>
  29783. </member>
  29784. <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#IsSynchronized">
  29785. <summary>
  29786. See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
  29787. </summary>
  29788. </member>
  29789. <member name="P:log4net.Util.PropertiesDictionary.System#Collections#ICollection#SyncRoot">
  29790. <summary>
  29791. See <see cref="P:System.Collections.ICollection.SyncRoot"/>
  29792. </summary>
  29793. </member>
  29794. <member name="M:log4net.Util.PropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
  29795. <summary>
  29796. See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
  29797. </summary>
  29798. </member>
  29799. <member name="T:log4net.Util.PropertyEntry">
  29800. <summary>
  29801. A class to hold the key and data for a property set in the config file
  29802. </summary>
  29803. <remarks>
  29804. <para>
  29805. A class to hold the key and data for a property set in the config file
  29806. </para>
  29807. </remarks>
  29808. </member>
  29809. <member name="P:log4net.Util.PropertyEntry.Key">
  29810. <summary>
  29811. Property Key
  29812. </summary>
  29813. <value>
  29814. Property Key
  29815. </value>
  29816. <remarks>
  29817. <para>
  29818. Property Key.
  29819. </para>
  29820. </remarks>
  29821. </member>
  29822. <member name="P:log4net.Util.PropertyEntry.Value">
  29823. <summary>
  29824. Property Value
  29825. </summary>
  29826. <value>
  29827. Property Value
  29828. </value>
  29829. <remarks>
  29830. <para>
  29831. Property Value.
  29832. </para>
  29833. </remarks>
  29834. </member>
  29835. <member name="M:log4net.Util.PropertyEntry.ToString">
  29836. <summary>
  29837. Override <c>Object.ToString</c> to return sensible debug info
  29838. </summary>
  29839. <returns>string info about this object</returns>
  29840. </member>
  29841. <member name="T:log4net.Util.ProtectCloseTextWriter">
  29842. <summary>
  29843. A <see cref="T:System.IO.TextWriter"/> that ignores the <see cref="M:log4net.Util.ProtectCloseTextWriter.Close"/> message
  29844. </summary>
  29845. <remarks>
  29846. <para>
  29847. This writer is used in special cases where it is necessary
  29848. to protect a writer from being closed by a client.
  29849. </para>
  29850. </remarks>
  29851. <author>Nicko Cadell</author>
  29852. </member>
  29853. <member name="M:log4net.Util.ProtectCloseTextWriter.#ctor(System.IO.TextWriter)">
  29854. <summary>
  29855. Constructor
  29856. </summary>
  29857. <param name="writer">the writer to actually write to</param>
  29858. <remarks>
  29859. <para>
  29860. Create a new ProtectCloseTextWriter using a writer
  29861. </para>
  29862. </remarks>
  29863. </member>
  29864. <member name="M:log4net.Util.ProtectCloseTextWriter.Attach(System.IO.TextWriter)">
  29865. <summary>
  29866. Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
  29867. </summary>
  29868. <param name="writer">the writer to attach to</param>
  29869. <remarks>
  29870. <para>
  29871. Attach this instance to a different underlying <see cref="T:System.IO.TextWriter"/>
  29872. </para>
  29873. </remarks>
  29874. </member>
  29875. <member name="M:log4net.Util.ProtectCloseTextWriter.Close">
  29876. <summary>
  29877. Does not close the underlying output writer.
  29878. </summary>
  29879. <remarks>
  29880. <para>
  29881. Does not close the underlying output writer.
  29882. This method does nothing.
  29883. </para>
  29884. </remarks>
  29885. </member>
  29886. <member name="T:log4net.Util.QuietTextWriter">
  29887. <summary>
  29888. <see cref="T:System.IO.TextWriter"/> that does not leak exceptions
  29889. </summary>
  29890. <remarks>
  29891. <para>
  29892. <see cref="T:log4net.Util.QuietTextWriter"/> does not throw exceptions when things go wrong.
  29893. Instead, it delegates error handling to its <see cref="T:log4net.Core.IErrorHandler"/>.
  29894. </para>
  29895. </remarks>
  29896. <author>Nicko Cadell</author>
  29897. <author>Gert Driesen</author>
  29898. </member>
  29899. <member name="M:log4net.Util.QuietTextWriter.#ctor(System.IO.TextWriter,log4net.Core.IErrorHandler)">
  29900. <summary>
  29901. Constructor
  29902. </summary>
  29903. <param name="writer">the writer to actually write to</param>
  29904. <param name="errorHandler">the error handler to report error to</param>
  29905. <remarks>
  29906. <para>
  29907. Create a new QuietTextWriter using a writer and error handler
  29908. </para>
  29909. </remarks>
  29910. </member>
  29911. <member name="P:log4net.Util.QuietTextWriter.ErrorHandler">
  29912. <summary>
  29913. Gets or sets the error handler that all errors are passed to.
  29914. </summary>
  29915. <value>
  29916. The error handler that all errors are passed to.
  29917. </value>
  29918. <remarks>
  29919. <para>
  29920. Gets or sets the error handler that all errors are passed to.
  29921. </para>
  29922. </remarks>
  29923. </member>
  29924. <member name="P:log4net.Util.QuietTextWriter.Closed">
  29925. <summary>
  29926. Gets a value indicating whether this writer is closed.
  29927. </summary>
  29928. <value>
  29929. <c>true</c> if this writer is closed, otherwise <c>false</c>.
  29930. </value>
  29931. <remarks>
  29932. <para>
  29933. Gets a value indicating whether this writer is closed.
  29934. </para>
  29935. </remarks>
  29936. </member>
  29937. <member name="M:log4net.Util.QuietTextWriter.Write(System.Char)">
  29938. <summary>
  29939. Writes a character to the underlying writer
  29940. </summary>
  29941. <param name="value">the char to write</param>
  29942. <remarks>
  29943. <para>
  29944. Writes a character to the underlying writer
  29945. </para>
  29946. </remarks>
  29947. </member>
  29948. <member name="M:log4net.Util.QuietTextWriter.Write(System.Char[],System.Int32,System.Int32)">
  29949. <summary>
  29950. Writes a buffer to the underlying writer
  29951. </summary>
  29952. <param name="buffer">the buffer to write</param>
  29953. <param name="index">the start index to write from</param>
  29954. <param name="count">the number of characters to write</param>
  29955. <remarks>
  29956. <para>
  29957. Writes a buffer to the underlying writer
  29958. </para>
  29959. </remarks>
  29960. </member>
  29961. <member name="M:log4net.Util.QuietTextWriter.Write(System.String)">
  29962. <summary>
  29963. Writes a string to the output.
  29964. </summary>
  29965. <param name="value">The string data to write to the output.</param>
  29966. <remarks>
  29967. <para>
  29968. Writes a string to the output.
  29969. </para>
  29970. </remarks>
  29971. </member>
  29972. <member name="M:log4net.Util.QuietTextWriter.Close">
  29973. <summary>
  29974. Closes the underlying output writer.
  29975. </summary>
  29976. <remarks>
  29977. <para>
  29978. Closes the underlying output writer.
  29979. </para>
  29980. </remarks>
  29981. </member>
  29982. <member name="F:log4net.Util.QuietTextWriter.m_errorHandler">
  29983. <summary>
  29984. The error handler instance to pass all errors to
  29985. </summary>
  29986. </member>
  29987. <member name="F:log4net.Util.QuietTextWriter.m_closed">
  29988. <summary>
  29989. Flag to indicate if this writer is closed
  29990. </summary>
  29991. </member>
  29992. <member name="T:log4net.Util.ReaderWriterLock">
  29993. <summary>
  29994. Defines a lock that supports single writers and multiple readers
  29995. </summary>
  29996. <remarks>
  29997. <para>
  29998. <c>ReaderWriterLock</c> is used to synchronize access to a resource.
  29999. At any given time, it allows either concurrent read access for
  30000. multiple threads, or write access for a single thread. In a
  30001. situation where a resource is changed infrequently, a
  30002. <c>ReaderWriterLock</c> provides better throughput than a simple
  30003. one-at-a-time lock, such as <see cref="T:System.Threading.Monitor"/>.
  30004. </para>
  30005. <para>
  30006. If a platform does not support a <c>System.Threading.ReaderWriterLock</c>
  30007. implementation then all readers and writers are serialized. Therefore
  30008. the caller must not rely on multiple simultaneous readers.
  30009. </para>
  30010. </remarks>
  30011. <author>Nicko Cadell</author>
  30012. </member>
  30013. <member name="M:log4net.Util.ReaderWriterLock.#ctor">
  30014. <summary>
  30015. Constructor
  30016. </summary>
  30017. <remarks>
  30018. <para>
  30019. Initializes a new instance of the <see cref="T:log4net.Util.ReaderWriterLock" /> class.
  30020. </para>
  30021. </remarks>
  30022. </member>
  30023. <member name="M:log4net.Util.ReaderWriterLock.AcquireReaderLock">
  30024. <summary>
  30025. Acquires a reader lock
  30026. </summary>
  30027. <remarks>
  30028. <para>
  30029. <see cref="M:log4net.Util.ReaderWriterLock.AcquireReaderLock"/> blocks if a different thread has the writer
  30030. lock, or if at least one thread is waiting for the writer lock.
  30031. </para>
  30032. </remarks>
  30033. </member>
  30034. <member name="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock">
  30035. <summary>
  30036. Decrements the lock count
  30037. </summary>
  30038. <remarks>
  30039. <para>
  30040. <see cref="M:log4net.Util.ReaderWriterLock.ReleaseReaderLock"/> decrements the lock count. When the count
  30041. reaches zero, the lock is released.
  30042. </para>
  30043. </remarks>
  30044. </member>
  30045. <member name="M:log4net.Util.ReaderWriterLock.AcquireWriterLock">
  30046. <summary>
  30047. Acquires the writer lock
  30048. </summary>
  30049. <remarks>
  30050. <para>
  30051. This method blocks if another thread has a reader lock or writer lock.
  30052. </para>
  30053. </remarks>
  30054. </member>
  30055. <member name="M:log4net.Util.ReaderWriterLock.ReleaseWriterLock">
  30056. <summary>
  30057. Decrements the lock count on the writer lock
  30058. </summary>
  30059. <remarks>
  30060. <para>
  30061. ReleaseWriterLock decrements the writer lock count.
  30062. When the count reaches zero, the writer lock is released.
  30063. </para>
  30064. </remarks>
  30065. </member>
  30066. <member name="T:log4net.Util.ReadOnlyPropertiesDictionary">
  30067. <summary>
  30068. String keyed object map that is read only.
  30069. </summary>
  30070. <remarks>
  30071. <para>
  30072. This collection is readonly and cannot be modified.
  30073. </para>
  30074. <para>
  30075. While this collection is serializable only member
  30076. objects that are serializable will
  30077. be serialized along with this collection.
  30078. </para>
  30079. </remarks>
  30080. <author>Nicko Cadell</author>
  30081. <author>Gert Driesen</author>
  30082. </member>
  30083. <member name="F:log4net.Util.ReadOnlyPropertiesDictionary.m_hashtable">
  30084. <summary>
  30085. The Hashtable used to store the properties data
  30086. </summary>
  30087. </member>
  30088. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor">
  30089. <summary>
  30090. Constructor
  30091. </summary>
  30092. <remarks>
  30093. <para>
  30094. Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary" /> class.
  30095. </para>
  30096. </remarks>
  30097. </member>
  30098. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(log4net.Util.ReadOnlyPropertiesDictionary)">
  30099. <summary>
  30100. Copy Constructor
  30101. </summary>
  30102. <param name="propertiesDictionary">properties to copy</param>
  30103. <remarks>
  30104. <para>
  30105. Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary" /> class.
  30106. </para>
  30107. </remarks>
  30108. </member>
  30109. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  30110. <summary>
  30111. Deserialization constructor
  30112. </summary>
  30113. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data.</param>
  30114. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
  30115. <remarks>
  30116. <para>
  30117. Initializes a new instance of the <see cref="T:log4net.Util.ReadOnlyPropertiesDictionary" /> class
  30118. with serialized data.
  30119. </para>
  30120. </remarks>
  30121. </member>
  30122. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetKeys">
  30123. <summary>
  30124. Gets the key names.
  30125. </summary>
  30126. <returns>An array of all the keys.</returns>
  30127. <remarks>
  30128. <para>
  30129. Gets the key names.
  30130. </para>
  30131. </remarks>
  30132. </member>
  30133. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Item(System.String)">
  30134. <summary>
  30135. Gets or sets the value of the property with the specified key.
  30136. </summary>
  30137. <value>
  30138. The value of the property with the specified key.
  30139. </value>
  30140. <param name="key">The key of the property to get or set.</param>
  30141. <remarks>
  30142. <para>
  30143. The property value will only be serialized if it is serializable.
  30144. If it cannot be serialized it will be silently ignored if
  30145. a serialization operation is performed.
  30146. </para>
  30147. </remarks>
  30148. </member>
  30149. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Contains(System.String)">
  30150. <summary>
  30151. Test if the dictionary contains a specified key
  30152. </summary>
  30153. <param name="key">the key to look for</param>
  30154. <returns>true if the dictionary contains the specified key</returns>
  30155. <remarks>
  30156. <para>
  30157. Test if the dictionary contains a specified key
  30158. </para>
  30159. </remarks>
  30160. </member>
  30161. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.InnerHashtable">
  30162. <summary>
  30163. The hashtable used to store the properties
  30164. </summary>
  30165. <value>
  30166. The internal collection used to store the properties
  30167. </value>
  30168. <remarks>
  30169. <para>
  30170. The hashtable used to store the properties
  30171. </para>
  30172. </remarks>
  30173. </member>
  30174. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  30175. <summary>
  30176. Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> provided.
  30177. </summary>
  30178. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> to populate with data.</param>
  30179. <param name="context">The destination for this serialization.</param>
  30180. <remarks>
  30181. <para>
  30182. Serializes this object into the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> provided.
  30183. </para>
  30184. </remarks>
  30185. </member>
  30186. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#GetEnumerator">
  30187. <summary>
  30188. See <see cref="M:System.Collections.IDictionary.GetEnumerator"/>
  30189. </summary>
  30190. </member>
  30191. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Remove(System.Object)">
  30192. <summary>
  30193. See <see cref="M:System.Collections.IDictionary.Remove(System.Object)"/>
  30194. </summary>
  30195. <param name="key"></param>
  30196. </member>
  30197. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Contains(System.Object)">
  30198. <summary>
  30199. See <see cref="M:System.Collections.IDictionary.Contains(System.Object)"/>
  30200. </summary>
  30201. <param name="key"></param>
  30202. <returns></returns>
  30203. </member>
  30204. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.Clear">
  30205. <summary>
  30206. Remove all properties from the properties collection
  30207. </summary>
  30208. </member>
  30209. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Add(System.Object,System.Object)">
  30210. <summary>
  30211. See <see cref="M:System.Collections.IDictionary.Add(System.Object,System.Object)"/>
  30212. </summary>
  30213. <param name="key"></param>
  30214. <param name="value"></param>
  30215. </member>
  30216. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsReadOnly">
  30217. <summary>
  30218. See <see cref="P:System.Collections.IDictionary.IsReadOnly"/>
  30219. </summary>
  30220. </member>
  30221. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Item(System.Object)">
  30222. <summary>
  30223. See <see cref="P:System.Collections.IDictionary.Item(System.Object)"/>
  30224. </summary>
  30225. </member>
  30226. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Values">
  30227. <summary>
  30228. See <see cref="P:System.Collections.IDictionary.Values"/>
  30229. </summary>
  30230. </member>
  30231. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#Keys">
  30232. <summary>
  30233. See <see cref="P:System.Collections.IDictionary.Keys"/>
  30234. </summary>
  30235. </member>
  30236. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IDictionary#IsFixedSize">
  30237. <summary>
  30238. See <see cref="P:System.Collections.IDictionary.IsFixedSize"/>
  30239. </summary>
  30240. </member>
  30241. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
  30242. <summary>
  30243. See <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/>
  30244. </summary>
  30245. <param name="array"></param>
  30246. <param name="index"></param>
  30247. </member>
  30248. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#IsSynchronized">
  30249. <summary>
  30250. See <see cref="P:System.Collections.ICollection.IsSynchronized"/>
  30251. </summary>
  30252. </member>
  30253. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.Count">
  30254. <summary>
  30255. The number of properties in this collection
  30256. </summary>
  30257. </member>
  30258. <member name="P:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#ICollection#SyncRoot">
  30259. <summary>
  30260. See <see cref="P:System.Collections.ICollection.SyncRoot"/>
  30261. </summary>
  30262. </member>
  30263. <member name="M:log4net.Util.ReadOnlyPropertiesDictionary.System#Collections#IEnumerable#GetEnumerator">
  30264. <summary>
  30265. See <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
  30266. </summary>
  30267. </member>
  30268. <member name="T:log4net.Util.ReusableStringWriter">
  30269. <summary>
  30270. A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused
  30271. </summary>
  30272. <remarks>
  30273. <para>
  30274. A <see cref="T:System.IO.StringWriter"/> that can be <see cref="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)"/> and reused.
  30275. This uses a single buffer for string operations.
  30276. </para>
  30277. </remarks>
  30278. <author>Nicko Cadell</author>
  30279. </member>
  30280. <member name="M:log4net.Util.ReusableStringWriter.#ctor(System.IFormatProvider)">
  30281. <summary>
  30282. Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
  30283. </summary>
  30284. <param name="formatProvider">the format provider to use</param>
  30285. <remarks>
  30286. <para>
  30287. Create an instance of <see cref="T:log4net.Util.ReusableStringWriter"/>
  30288. </para>
  30289. </remarks>
  30290. </member>
  30291. <member name="M:log4net.Util.ReusableStringWriter.Dispose(System.Boolean)">
  30292. <summary>
  30293. Override Dispose to prevent closing of writer
  30294. </summary>
  30295. <param name="disposing">flag</param>
  30296. <remarks>
  30297. <para>
  30298. Override Dispose to prevent closing of writer
  30299. </para>
  30300. </remarks>
  30301. </member>
  30302. <member name="M:log4net.Util.ReusableStringWriter.Reset(System.Int32,System.Int32)">
  30303. <summary>
  30304. Reset this string writer so that it can be reused.
  30305. </summary>
  30306. <param name="maxCapacity">the maximum buffer capacity before it is trimmed</param>
  30307. <param name="defaultSize">the default size to make the buffer</param>
  30308. <remarks>
  30309. <para>
  30310. Reset this string writer so that it can be reused.
  30311. The internal buffers are cleared and reset.
  30312. </para>
  30313. </remarks>
  30314. </member>
  30315. <member name="T:log4net.Util.SystemInfo">
  30316. <summary>
  30317. Utility class for system specific information.
  30318. </summary>
  30319. <remarks>
  30320. <para>
  30321. Utility class of static methods for system specific information.
  30322. </para>
  30323. </remarks>
  30324. <author>Nicko Cadell</author>
  30325. <author>Gert Driesen</author>
  30326. <author>Alexey Solofnenko</author>
  30327. </member>
  30328. <member name="M:log4net.Util.SystemInfo.#ctor">
  30329. <summary>
  30330. Private constructor to prevent instances.
  30331. </summary>
  30332. <remarks>
  30333. <para>
  30334. Only static methods are exposed from this type.
  30335. </para>
  30336. </remarks>
  30337. </member>
  30338. <member name="M:log4net.Util.SystemInfo.#cctor">
  30339. <summary>
  30340. Initialize default values for private static fields.
  30341. </summary>
  30342. <remarks>
  30343. <para>
  30344. Only static methods are exposed from this type.
  30345. </para>
  30346. </remarks>
  30347. </member>
  30348. <member name="P:log4net.Util.SystemInfo.NewLine">
  30349. <summary>
  30350. Gets the system dependent line terminator.
  30351. </summary>
  30352. <value>
  30353. The system dependent line terminator.
  30354. </value>
  30355. <remarks>
  30356. <para>
  30357. Gets the system dependent line terminator.
  30358. </para>
  30359. </remarks>
  30360. </member>
  30361. <member name="P:log4net.Util.SystemInfo.ApplicationBaseDirectory">
  30362. <summary>
  30363. Gets the base directory for this <see cref="T:System.AppDomain"/>.
  30364. </summary>
  30365. <value>The base directory path for the current <see cref="T:System.AppDomain"/>.</value>
  30366. <remarks>
  30367. <para>
  30368. Gets the base directory for this <see cref="T:System.AppDomain"/>.
  30369. </para>
  30370. <para>
  30371. The value returned may be either a local file path or a URI.
  30372. </para>
  30373. </remarks>
  30374. </member>
  30375. <member name="P:log4net.Util.SystemInfo.ConfigurationFileLocation">
  30376. <summary>
  30377. Gets the path to the configuration file for the current <see cref="T:System.AppDomain"/>.
  30378. </summary>
  30379. <value>The path to the configuration file for the current <see cref="T:System.AppDomain"/>.</value>
  30380. <remarks>
  30381. <para>
  30382. The .NET Compact Framework 1.0 does not have a concept of a configuration
  30383. file. For this runtime, we use the entry assembly location as the root for
  30384. the configuration file name.
  30385. </para>
  30386. <para>
  30387. The value returned may be either a local file path or a URI.
  30388. </para>
  30389. </remarks>
  30390. </member>
  30391. <member name="P:log4net.Util.SystemInfo.EntryAssemblyLocation">
  30392. <summary>
  30393. Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
  30394. </summary>
  30395. <value>The path to the entry assembly.</value>
  30396. <remarks>
  30397. <para>
  30398. Gets the path to the file that first executed in the current <see cref="T:System.AppDomain"/>.
  30399. </para>
  30400. </remarks>
  30401. </member>
  30402. <member name="P:log4net.Util.SystemInfo.CurrentThreadId">
  30403. <summary>
  30404. Gets the ID of the current thread.
  30405. </summary>
  30406. <value>The ID of the current thread.</value>
  30407. <remarks>
  30408. <para>
  30409. On the .NET framework, the <c>AppDomain.GetCurrentThreadId</c> method
  30410. is used to obtain the thread ID for the current thread. This is the
  30411. operating system ID for the thread.
  30412. </para>
  30413. <para>
  30414. On the .NET Compact Framework 1.0 it is not possible to get the
  30415. operating system thread ID for the current thread. The native method
  30416. <c>GetCurrentThreadId</c> is implemented inline in a header file
  30417. and cannot be called.
  30418. </para>
  30419. <para>
  30420. On the .NET Framework 2.0 the <c>Thread.ManagedThreadId</c> is used as this
  30421. gives a stable id unrelated to the operating system thread ID which may
  30422. change if the runtime is using fibers.
  30423. </para>
  30424. </remarks>
  30425. </member>
  30426. <member name="P:log4net.Util.SystemInfo.HostName">
  30427. <summary>
  30428. Get the host name or machine name for the current machine
  30429. </summary>
  30430. <value>
  30431. The hostname or machine name
  30432. </value>
  30433. <remarks>
  30434. <para>
  30435. Get the host name or machine name for the current machine
  30436. </para>
  30437. <para>
  30438. The host name (<see cref="M:System.Net.Dns.GetHostName"/>) or
  30439. the machine name (<c>Environment.MachineName</c>) for
  30440. the current machine, or if neither of these are available
  30441. then <c>NOT AVAILABLE</c> is returned.
  30442. </para>
  30443. </remarks>
  30444. </member>
  30445. <member name="P:log4net.Util.SystemInfo.ApplicationFriendlyName">
  30446. <summary>
  30447. Get this application's friendly name
  30448. </summary>
  30449. <value>
  30450. The friendly name of this application as a string
  30451. </value>
  30452. <remarks>
  30453. <para>
  30454. If available the name of the application is retrieved from
  30455. the <c>AppDomain</c> using <c>AppDomain.CurrentDomain.FriendlyName</c>.
  30456. </para>
  30457. <para>
  30458. Otherwise the file name of the entry assembly is used.
  30459. </para>
  30460. </remarks>
  30461. </member>
  30462. <member name="P:log4net.Util.SystemInfo.ProcessStartTime">
  30463. <summary>
  30464. Get the start time for the current process.
  30465. </summary>
  30466. <remarks>
  30467. <para>
  30468. This is the time at which the log4net library was loaded into the
  30469. AppDomain. Due to reports of a hang in the call to <c>System.Diagnostics.Process.StartTime</c>
  30470. this is not the start time for the current process.
  30471. </para>
  30472. <para>
  30473. The log4net library should be loaded by an application early during its
  30474. startup, therefore this start time should be a good approximation for
  30475. the actual start time.
  30476. </para>
  30477. <para>
  30478. Note that AppDomains may be loaded and unloaded within the
  30479. same process without the process terminating, however this start time
  30480. will be set per AppDomain.
  30481. </para>
  30482. </remarks>
  30483. </member>
  30484. <member name="P:log4net.Util.SystemInfo.ProcessStartTimeUtc">
  30485. <summary>
  30486. Get the UTC start time for the current process.
  30487. </summary>
  30488. <remarks>
  30489. <para>
  30490. This is the UTC time at which the log4net library was loaded into the
  30491. AppDomain. Due to reports of a hang in the call to <c>System.Diagnostics.Process.StartTime</c>
  30492. this is not the start time for the current process.
  30493. </para>
  30494. <para>
  30495. The log4net library should be loaded by an application early during its
  30496. startup, therefore this start time should be a good approximation for
  30497. the actual start time.
  30498. </para>
  30499. <para>
  30500. Note that AppDomains may be loaded and unloaded within the
  30501. same process without the process terminating, however this start time
  30502. will be set per AppDomain.
  30503. </para>
  30504. </remarks>
  30505. </member>
  30506. <member name="P:log4net.Util.SystemInfo.NullText">
  30507. <summary>
  30508. Text to output when a <c>null</c> is encountered.
  30509. </summary>
  30510. <remarks>
  30511. <para>
  30512. Use this value to indicate a <c>null</c> has been encountered while
  30513. outputting a string representation of an item.
  30514. </para>
  30515. <para>
  30516. The default value is <c>(null)</c>. This value can be overridden by specifying
  30517. a value for the <c>log4net.NullText</c> appSetting in the application's
  30518. .config file.
  30519. </para>
  30520. </remarks>
  30521. </member>
  30522. <member name="P:log4net.Util.SystemInfo.NotAvailableText">
  30523. <summary>
  30524. Text to output when an unsupported feature is requested.
  30525. </summary>
  30526. <remarks>
  30527. <para>
  30528. Use this value when an unsupported feature is requested.
  30529. </para>
  30530. <para>
  30531. The default value is <c>NOT AVAILABLE</c>. This value can be overridden by specifying
  30532. a value for the <c>log4net.NotAvailableText</c> appSetting in the application's
  30533. .config file.
  30534. </para>
  30535. </remarks>
  30536. </member>
  30537. <member name="M:log4net.Util.SystemInfo.AssemblyLocationInfo(System.Reflection.Assembly)">
  30538. <summary>
  30539. Gets the assembly location path for the specified assembly.
  30540. </summary>
  30541. <param name="myAssembly">The assembly to get the location for.</param>
  30542. <returns>The location of the assembly.</returns>
  30543. <remarks>
  30544. <para>
  30545. This method does not guarantee to return the correct path
  30546. to the assembly. If only tries to give an indication as to
  30547. where the assembly was loaded from.
  30548. </para>
  30549. </remarks>
  30550. </member>
  30551. <member name="M:log4net.Util.SystemInfo.AssemblyQualifiedName(System.Type)">
  30552. <summary>
  30553. Gets the fully qualified name of the <see cref="T:System.Type" />, including
  30554. the name of the assembly from which the <see cref="T:System.Type" /> was
  30555. loaded.
  30556. </summary>
  30557. <param name="type">The <see cref="T:System.Type" /> to get the fully qualified name for.</param>
  30558. <returns>The fully qualified name for the <see cref="T:System.Type" />.</returns>
  30559. <remarks>
  30560. <para>
  30561. This is equivalent to the <c>Type.AssemblyQualifiedName</c> property,
  30562. but this method works on the .NET Compact Framework 1.0 as well as
  30563. the full .NET runtime.
  30564. </para>
  30565. </remarks>
  30566. </member>
  30567. <member name="M:log4net.Util.SystemInfo.AssemblyShortName(System.Reflection.Assembly)">
  30568. <summary>
  30569. Gets the short name of the <see cref="T:System.Reflection.Assembly" />.
  30570. </summary>
  30571. <param name="myAssembly">The <see cref="T:System.Reflection.Assembly" /> to get the name for.</param>
  30572. <returns>The short name of the <see cref="T:System.Reflection.Assembly" />.</returns>
  30573. <remarks>
  30574. <para>
  30575. The short name of the assembly is the <see cref="P:System.Reflection.Assembly.FullName" />
  30576. without the version, culture, or public key. i.e. it is just the
  30577. assembly's file name without the extension.
  30578. </para>
  30579. <para>
  30580. Use this rather than <c>Assembly.GetName().Name</c> because that
  30581. is not available on the Compact Framework.
  30582. </para>
  30583. <para>
  30584. Because of a FileIOPermission security demand we cannot do
  30585. the obvious Assembly.GetName().Name. We are allowed to get
  30586. the <see cref="P:System.Reflection.Assembly.FullName" /> of the assembly so we
  30587. start from there and strip out just the assembly name.
  30588. </para>
  30589. </remarks>
  30590. </member>
  30591. <member name="M:log4net.Util.SystemInfo.AssemblyFileName(System.Reflection.Assembly)">
  30592. <summary>
  30593. Gets the file name portion of the <see cref="T:System.Reflection.Assembly" />, including the extension.
  30594. </summary>
  30595. <param name="myAssembly">The <see cref="T:System.Reflection.Assembly" /> to get the file name for.</param>
  30596. <returns>The file name of the assembly.</returns>
  30597. <remarks>
  30598. <para>
  30599. Gets the file name portion of the <see cref="T:System.Reflection.Assembly" />, including the extension.
  30600. </para>
  30601. </remarks>
  30602. </member>
  30603. <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Type,System.String,System.Boolean,System.Boolean)">
  30604. <summary>
  30605. Loads the type specified in the type string.
  30606. </summary>
  30607. <param name="relativeType">A sibling type to use to load the type.</param>
  30608. <param name="typeName">The name of the type to load.</param>
  30609. <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
  30610. <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
  30611. <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
  30612. <remarks>
  30613. <para>
  30614. If the type name is fully qualified, i.e. if contains an assembly name in
  30615. the type name, the type will be loaded from the system using
  30616. <see cref="M:Type.GetType(string,bool)"/>.
  30617. </para>
  30618. <para>
  30619. If the type name is not fully qualified, it will be loaded from the assembly
  30620. containing the specified relative type. If the type is not found in the assembly
  30621. then all the loaded assemblies will be searched for the type.
  30622. </para>
  30623. </remarks>
  30624. </member>
  30625. <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.String,System.Boolean,System.Boolean)">
  30626. <summary>
  30627. Loads the type specified in the type string.
  30628. </summary>
  30629. <param name="typeName">The name of the type to load.</param>
  30630. <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
  30631. <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
  30632. <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
  30633. <remarks>
  30634. <para>
  30635. If the type name is fully qualified, i.e. if contains an assembly name in
  30636. the type name, the type will be loaded from the system using
  30637. <see cref="M:Type.GetType(string,bool)"/>.
  30638. </para>
  30639. <para>
  30640. If the type name is not fully qualified it will be loaded from the
  30641. assembly that is directly calling this method. If the type is not found
  30642. in the assembly then all the loaded assemblies will be searched for the type.
  30643. </para>
  30644. </remarks>
  30645. </member>
  30646. <member name="M:log4net.Util.SystemInfo.GetTypeFromString(System.Reflection.Assembly,System.String,System.Boolean,System.Boolean)">
  30647. <summary>
  30648. Loads the type specified in the type string.
  30649. </summary>
  30650. <param name="relativeAssembly">An assembly to load the type from.</param>
  30651. <param name="typeName">The name of the type to load.</param>
  30652. <param name="throwOnError">Flag set to <c>true</c> to throw an exception if the type cannot be loaded.</param>
  30653. <param name="ignoreCase"><c>true</c> to ignore the case of the type name; otherwise, <c>false</c></param>
  30654. <returns>The type loaded or <c>null</c> if it could not be loaded.</returns>
  30655. <remarks>
  30656. <para>
  30657. If the type name is fully qualified, i.e. if contains an assembly name in
  30658. the type name, the type will be loaded from the system using
  30659. <see cref="M:Type.GetType(string,bool)"/>.
  30660. </para>
  30661. <para>
  30662. If the type name is not fully qualified it will be loaded from the specified
  30663. assembly. If the type is not found in the assembly then all the loaded assemblies
  30664. will be searched for the type.
  30665. </para>
  30666. </remarks>
  30667. </member>
  30668. <member name="M:log4net.Util.SystemInfo.NewGuid">
  30669. <summary>
  30670. Generate a new guid
  30671. </summary>
  30672. <returns>A new Guid</returns>
  30673. <remarks>
  30674. <para>
  30675. Generate a new guid
  30676. </para>
  30677. </remarks>
  30678. </member>
  30679. <member name="M:log4net.Util.SystemInfo.CreateArgumentOutOfRangeException(System.String,System.Object,System.String)">
  30680. <summary>
  30681. Create an <see cref="T:System.ArgumentOutOfRangeException"/>
  30682. </summary>
  30683. <param name="parameterName">The name of the parameter that caused the exception</param>
  30684. <param name="actualValue">The value of the argument that causes this exception</param>
  30685. <param name="message">The message that describes the error</param>
  30686. <returns>the ArgumentOutOfRangeException object</returns>
  30687. <remarks>
  30688. <para>
  30689. Create a new instance of the <see cref="T:System.ArgumentOutOfRangeException"/> class
  30690. with a specified error message, the parameter name, and the value
  30691. of the argument.
  30692. </para>
  30693. <para>
  30694. The Compact Framework does not support the 3 parameter constructor for the
  30695. <see cref="T:System.ArgumentOutOfRangeException"/> type. This method provides an
  30696. implementation that works for all platforms.
  30697. </para>
  30698. </remarks>
  30699. </member>
  30700. <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int32@)">
  30701. <summary>
  30702. Parse a string into an <see cref="T:System.Int32"/> value
  30703. </summary>
  30704. <param name="s">the string to parse</param>
  30705. <param name="val">out param where the parsed value is placed</param>
  30706. <returns><c>true</c> if the string was able to be parsed into an integer</returns>
  30707. <remarks>
  30708. <para>
  30709. Attempts to parse the string into an integer. If the string cannot
  30710. be parsed then this method returns <c>false</c>. The method does not throw an exception.
  30711. </para>
  30712. </remarks>
  30713. </member>
  30714. <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int64@)">
  30715. <summary>
  30716. Parse a string into an <see cref="T:System.Int64"/> value
  30717. </summary>
  30718. <param name="s">the string to parse</param>
  30719. <param name="val">out param where the parsed value is placed</param>
  30720. <returns><c>true</c> if the string was able to be parsed into an integer</returns>
  30721. <remarks>
  30722. <para>
  30723. Attempts to parse the string into an integer. If the string cannot
  30724. be parsed then this method returns <c>false</c>. The method does not throw an exception.
  30725. </para>
  30726. </remarks>
  30727. </member>
  30728. <member name="M:log4net.Util.SystemInfo.TryParse(System.String,System.Int16@)">
  30729. <summary>
  30730. Parse a string into an <see cref="T:System.Int16"/> value
  30731. </summary>
  30732. <param name="s">the string to parse</param>
  30733. <param name="val">out param where the parsed value is placed</param>
  30734. <returns><c>true</c> if the string was able to be parsed into an integer</returns>
  30735. <remarks>
  30736. <para>
  30737. Attempts to parse the string into an integer. If the string cannot
  30738. be parsed then this method returns <c>false</c>. The method does not throw an exception.
  30739. </para>
  30740. </remarks>
  30741. </member>
  30742. <member name="M:log4net.Util.SystemInfo.GetAppSetting(System.String)">
  30743. <summary>
  30744. Lookup an application setting
  30745. </summary>
  30746. <param name="key">the application settings key to lookup</param>
  30747. <returns>the value for the key, or <c>null</c></returns>
  30748. <remarks>
  30749. <para>
  30750. Configuration APIs are not supported under the Compact Framework
  30751. </para>
  30752. </remarks>
  30753. </member>
  30754. <member name="M:log4net.Util.SystemInfo.ConvertToFullPath(System.String)">
  30755. <summary>
  30756. Convert a path into a fully qualified local file path.
  30757. </summary>
  30758. <param name="path">The path to convert.</param>
  30759. <returns>The fully qualified path.</returns>
  30760. <remarks>
  30761. <para>
  30762. Converts the path specified to a fully
  30763. qualified path. If the path is relative it is
  30764. taken as relative from the application base
  30765. directory.
  30766. </para>
  30767. <para>
  30768. The path specified must be a local file path, a URI is not supported.
  30769. </para>
  30770. </remarks>
  30771. </member>
  30772. <member name="M:log4net.Util.SystemInfo.CreateCaseInsensitiveHashtable">
  30773. <summary>
  30774. Creates a new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity.
  30775. </summary>
  30776. <returns>A new case-insensitive instance of the <see cref="T:System.Collections.Hashtable"/> class with the default initial capacity</returns>
  30777. <remarks>
  30778. <para>
  30779. The new Hashtable instance uses the default load factor, the CaseInsensitiveHashCodeProvider, and the CaseInsensitiveComparer.
  30780. </para>
  30781. </remarks>
  30782. </member>
  30783. <member name="M:log4net.Util.SystemInfo.EqualsIgnoringCase(System.String,System.String)">
  30784. <summary>
  30785. Tests two strings for equality, the ignoring case.
  30786. </summary>
  30787. <remarks>
  30788. If the platform permits, culture information is ignored completely (ordinal comparison).
  30789. The aim of this method is to provide a fast comparison that deals with <c>null</c> and ignores different casing.
  30790. It is not supposed to deal with various, culture-specific habits.
  30791. Use it to compare against pure ASCII constants, like keywords etc.
  30792. </remarks>
  30793. <param name="a">The one string.</param>
  30794. <param name="b">The other string.</param>
  30795. <returns><c>true</c> if the strings are equal, <c>false</c> otherwise.</returns>
  30796. </member>
  30797. <member name="F:log4net.Util.SystemInfo.EmptyTypes">
  30798. <summary>
  30799. Gets an empty array of types.
  30800. </summary>
  30801. <remarks>
  30802. <para>
  30803. The <c>Type.EmptyTypes</c> field is not available on
  30804. the .NET Compact Framework 1.0.
  30805. </para>
  30806. </remarks>
  30807. </member>
  30808. <member name="F:log4net.Util.SystemInfo.declaringType">
  30809. <summary>
  30810. The fully qualified type of the SystemInfo class.
  30811. </summary>
  30812. <remarks>
  30813. Used by the internal logger to record the Type of the
  30814. log message.
  30815. </remarks>
  30816. </member>
  30817. <member name="F:log4net.Util.SystemInfo.s_hostName">
  30818. <summary>
  30819. Cache the host name for the current machine
  30820. </summary>
  30821. </member>
  30822. <member name="F:log4net.Util.SystemInfo.s_appFriendlyName">
  30823. <summary>
  30824. Cache the application friendly name
  30825. </summary>
  30826. </member>
  30827. <member name="F:log4net.Util.SystemInfo.s_nullText">
  30828. <summary>
  30829. Text to output when a <c>null</c> is encountered.
  30830. </summary>
  30831. </member>
  30832. <member name="F:log4net.Util.SystemInfo.s_notAvailableText">
  30833. <summary>
  30834. Text to output when an unsupported feature is requested.
  30835. </summary>
  30836. </member>
  30837. <member name="F:log4net.Util.SystemInfo.s_processStartTimeUtc">
  30838. <summary>
  30839. Start time for the current process.
  30840. </summary>
  30841. </member>
  30842. <member name="T:log4net.Util.SystemStringFormat">
  30843. <summary>
  30844. Utility class that represents a format string.
  30845. </summary>
  30846. <remarks>
  30847. <para>
  30848. Utility class that represents a format string.
  30849. </para>
  30850. </remarks>
  30851. <author>Nicko Cadell</author>
  30852. </member>
  30853. <member name="M:log4net.Util.SystemStringFormat.#ctor(System.IFormatProvider,System.String,System.Object[])">
  30854. <summary>
  30855. Initialise the <see cref="T:log4net.Util.SystemStringFormat"/>
  30856. </summary>
  30857. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
  30858. <param name="format">A <see cref="T:System.String"/> containing zero or more format items.</param>
  30859. <param name="args">An <see cref="T:System.Object"/> array containing zero or more objects to format.</param>
  30860. </member>
  30861. <member name="M:log4net.Util.SystemStringFormat.ToString">
  30862. <summary>
  30863. Format the string and arguments
  30864. </summary>
  30865. <returns>the formatted string</returns>
  30866. </member>
  30867. <member name="M:log4net.Util.SystemStringFormat.StringFormat(System.IFormatProvider,System.String,System.Object[])">
  30868. <summary>
  30869. Replaces the format item in a specified <see cref="T:System.String"/> with the text equivalent
  30870. of the value of a corresponding <see cref="T:System.Object"/> instance in a specified array.
  30871. A specified parameter supplies culture-specific formatting information.
  30872. </summary>
  30873. <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
  30874. <param name="format">A <see cref="T:System.String"/> containing zero or more format items.</param>
  30875. <param name="args">An <see cref="T:System.Object"/> array containing zero or more objects to format.</param>
  30876. <returns>
  30877. A copy of format in which the format items have been replaced by the <see cref="T:System.String"/>
  30878. equivalent of the corresponding instances of <see cref="T:System.Object"/> in args.
  30879. </returns>
  30880. <remarks>
  30881. <para>
  30882. This method does not throw exceptions. If an exception thrown while formatting the result the
  30883. exception and arguments are returned in the result string.
  30884. </para>
  30885. </remarks>
  30886. </member>
  30887. <member name="M:log4net.Util.SystemStringFormat.StringFormatError(System.Exception,System.String,System.Object[])">
  30888. <summary>
  30889. Process an error during StringFormat
  30890. </summary>
  30891. </member>
  30892. <member name="M:log4net.Util.SystemStringFormat.RenderArray(System.Array,System.Text.StringBuilder)">
  30893. <summary>
  30894. Dump the contents of an array into a string builder
  30895. </summary>
  30896. </member>
  30897. <member name="M:log4net.Util.SystemStringFormat.RenderObject(System.Object,System.Text.StringBuilder)">
  30898. <summary>
  30899. Dump an object to a string
  30900. </summary>
  30901. </member>
  30902. <member name="F:log4net.Util.SystemStringFormat.declaringType">
  30903. <summary>
  30904. The fully qualified type of the SystemStringFormat class.
  30905. </summary>
  30906. <remarks>
  30907. Used by the internal logger to record the Type of the
  30908. log message.
  30909. </remarks>
  30910. </member>
  30911. <member name="T:log4net.Util.TextWriterAdapter">
  30912. <summary>
  30913. Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
  30914. messages to an instance of <see cref="T:System.IO.TextWriter"/>.
  30915. </summary>
  30916. <remarks>
  30917. <para>
  30918. Adapter that extends <see cref="T:System.IO.TextWriter"/> and forwards all
  30919. messages to an instance of <see cref="T:System.IO.TextWriter"/>.
  30920. </para>
  30921. </remarks>
  30922. <author>Nicko Cadell</author>
  30923. </member>
  30924. <member name="F:log4net.Util.TextWriterAdapter.m_writer">
  30925. <summary>
  30926. The writer to forward messages to
  30927. </summary>
  30928. </member>
  30929. <member name="M:log4net.Util.TextWriterAdapter.#ctor(System.IO.TextWriter)">
  30930. <summary>
  30931. Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
  30932. messages to a <see cref="T:System.IO.TextWriter"/>.
  30933. </summary>
  30934. <param name="writer">The <see cref="T:System.IO.TextWriter"/> to forward to</param>
  30935. <remarks>
  30936. <para>
  30937. Create an instance of <see cref="T:log4net.Util.TextWriterAdapter"/> that forwards all
  30938. messages to a <see cref="T:System.IO.TextWriter"/>.
  30939. </para>
  30940. </remarks>
  30941. </member>
  30942. <member name="P:log4net.Util.TextWriterAdapter.Writer">
  30943. <summary>
  30944. Gets or sets the underlying <see cref="T:System.IO.TextWriter" />.
  30945. </summary>
  30946. <value>
  30947. The underlying <see cref="T:System.IO.TextWriter" />.
  30948. </value>
  30949. <remarks>
  30950. <para>
  30951. Gets or sets the underlying <see cref="T:System.IO.TextWriter" />.
  30952. </para>
  30953. </remarks>
  30954. </member>
  30955. <member name="P:log4net.Util.TextWriterAdapter.Encoding">
  30956. <summary>
  30957. The Encoding in which the output is written
  30958. </summary>
  30959. <value>
  30960. The <see cref="P:log4net.Util.TextWriterAdapter.Encoding"/>
  30961. </value>
  30962. <remarks>
  30963. <para>
  30964. The Encoding in which the output is written
  30965. </para>
  30966. </remarks>
  30967. </member>
  30968. <member name="P:log4net.Util.TextWriterAdapter.FormatProvider">
  30969. <summary>
  30970. Gets an object that controls formatting
  30971. </summary>
  30972. <value>
  30973. The format provider
  30974. </value>
  30975. <remarks>
  30976. <para>
  30977. Gets an object that controls formatting
  30978. </para>
  30979. </remarks>
  30980. </member>
  30981. <member name="P:log4net.Util.TextWriterAdapter.NewLine">
  30982. <summary>
  30983. Gets or sets the line terminator string used by the TextWriter
  30984. </summary>
  30985. <value>
  30986. The line terminator to use
  30987. </value>
  30988. <remarks>
  30989. <para>
  30990. Gets or sets the line terminator string used by the TextWriter
  30991. </para>
  30992. </remarks>
  30993. </member>
  30994. <member name="M:log4net.Util.TextWriterAdapter.Close">
  30995. <summary>
  30996. Closes the writer and releases any system resources associated with the writer
  30997. </summary>
  30998. <remarks>
  30999. <para>
  31000. </para>
  31001. </remarks>
  31002. </member>
  31003. <member name="M:log4net.Util.TextWriterAdapter.Dispose(System.Boolean)">
  31004. <summary>
  31005. Dispose this writer
  31006. </summary>
  31007. <param name="disposing">flag indicating if we are being disposed</param>
  31008. <remarks>
  31009. <para>
  31010. Dispose this writer
  31011. </para>
  31012. </remarks>
  31013. </member>
  31014. <member name="M:log4net.Util.TextWriterAdapter.Flush">
  31015. <summary>
  31016. Flushes any buffered output
  31017. </summary>
  31018. <remarks>
  31019. <para>
  31020. Clears all buffers for the writer and causes any buffered data to be written
  31021. to the underlying device
  31022. </para>
  31023. </remarks>
  31024. </member>
  31025. <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char)">
  31026. <summary>
  31027. Writes a character to the wrapped TextWriter
  31028. </summary>
  31029. <param name="value">the value to write to the TextWriter</param>
  31030. <remarks>
  31031. <para>
  31032. Writes a character to the wrapped TextWriter
  31033. </para>
  31034. </remarks>
  31035. </member>
  31036. <member name="M:log4net.Util.TextWriterAdapter.Write(System.Char[],System.Int32,System.Int32)">
  31037. <summary>
  31038. Writes a character buffer to the wrapped TextWriter
  31039. </summary>
  31040. <param name="buffer">the data buffer</param>
  31041. <param name="index">the start index</param>
  31042. <param name="count">the number of characters to write</param>
  31043. <remarks>
  31044. <para>
  31045. Writes a character buffer to the wrapped TextWriter
  31046. </para>
  31047. </remarks>
  31048. </member>
  31049. <member name="M:log4net.Util.TextWriterAdapter.Write(System.String)">
  31050. <summary>
  31051. Writes a string to the wrapped TextWriter
  31052. </summary>
  31053. <param name="value">the value to write to the TextWriter</param>
  31054. <remarks>
  31055. <para>
  31056. Writes a string to the wrapped TextWriter
  31057. </para>
  31058. </remarks>
  31059. </member>
  31060. <member name="T:log4net.Util.ThreadContextProperties">
  31061. <summary>
  31062. Implementation of Properties collection for the <see cref="T:log4net.ThreadContext"/>
  31063. </summary>
  31064. <remarks>
  31065. <para>
  31066. Class implements a collection of properties that is specific to each thread.
  31067. The class is not synchronized as each thread has its own <see cref="T:log4net.Util.PropertiesDictionary"/>.
  31068. </para>
  31069. </remarks>
  31070. <author>Nicko Cadell</author>
  31071. </member>
  31072. <member name="F:log4net.Util.ThreadContextProperties._dictionary">
  31073. <summary>
  31074. Each thread will automatically have its instance.
  31075. </summary>
  31076. </member>
  31077. <member name="M:log4net.Util.ThreadContextProperties.#ctor">
  31078. <summary>
  31079. Internal constructor
  31080. </summary>
  31081. <remarks>
  31082. <para>
  31083. Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextProperties" /> class.
  31084. </para>
  31085. </remarks>
  31086. </member>
  31087. <member name="P:log4net.Util.ThreadContextProperties.Item(System.String)">
  31088. <summary>
  31089. Gets or sets the value of a property
  31090. </summary>
  31091. <value>
  31092. The value for the property with the specified key
  31093. </value>
  31094. <remarks>
  31095. <para>
  31096. Gets or sets the value of a property
  31097. </para>
  31098. </remarks>
  31099. </member>
  31100. <member name="M:log4net.Util.ThreadContextProperties.Remove(System.String)">
  31101. <summary>
  31102. Remove a property
  31103. </summary>
  31104. <param name="key">the key for the entry to remove</param>
  31105. <remarks>
  31106. <para>
  31107. Remove a property
  31108. </para>
  31109. </remarks>
  31110. </member>
  31111. <member name="M:log4net.Util.ThreadContextProperties.GetKeys">
  31112. <summary>
  31113. Get the keys stored in the properties.
  31114. </summary>
  31115. <para>
  31116. Gets the keys stored in the properties.
  31117. </para>
  31118. <returns>a set of the defined keys</returns>
  31119. </member>
  31120. <member name="M:log4net.Util.ThreadContextProperties.Clear">
  31121. <summary>
  31122. Clear all properties
  31123. </summary>
  31124. <remarks>
  31125. <para>
  31126. Clear all properties
  31127. </para>
  31128. </remarks>
  31129. </member>
  31130. <member name="M:log4net.Util.ThreadContextProperties.GetProperties(System.Boolean)">
  31131. <summary>
  31132. Get the <c>PropertiesDictionary</c> for this thread.
  31133. </summary>
  31134. <param name="create">create the dictionary if it does not exist, otherwise return null if does not exist</param>
  31135. <returns>the properties for this thread</returns>
  31136. <remarks>
  31137. <para>
  31138. The collection returned is only to be used on the calling thread. If the
  31139. caller needs to share the collection between different threads then the
  31140. caller must clone the collection before doing so.
  31141. </para>
  31142. </remarks>
  31143. </member>
  31144. <member name="T:log4net.Util.ThreadContextStack">
  31145. <summary>
  31146. Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
  31147. </summary>
  31148. <remarks>
  31149. <para>
  31150. Implementation of Stack for the <see cref="T:log4net.ThreadContext"/>
  31151. </para>
  31152. </remarks>
  31153. <author>Nicko Cadell</author>
  31154. </member>
  31155. <member name="F:log4net.Util.ThreadContextStack.m_stack">
  31156. <summary>
  31157. The stack store.
  31158. </summary>
  31159. </member>
  31160. <member name="M:log4net.Util.ThreadContextStack.#ctor">
  31161. <summary>
  31162. Internal constructor
  31163. </summary>
  31164. <remarks>
  31165. <para>
  31166. Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack" /> class.
  31167. </para>
  31168. </remarks>
  31169. </member>
  31170. <member name="P:log4net.Util.ThreadContextStack.Count">
  31171. <summary>
  31172. The number of messages in the stack
  31173. </summary>
  31174. <value>
  31175. The current number of messages in the stack
  31176. </value>
  31177. <remarks>
  31178. <para>
  31179. The current number of messages in the stack. That is
  31180. the number of times <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> has been called
  31181. minus the number of times <see cref="M:log4net.Util.ThreadContextStack.Pop"/> has been called.
  31182. </para>
  31183. </remarks>
  31184. </member>
  31185. <member name="M:log4net.Util.ThreadContextStack.Clear">
  31186. <summary>
  31187. Clears all the contextual information held in this stack.
  31188. </summary>
  31189. <remarks>
  31190. <para>
  31191. Clears all the contextual information held in this stack.
  31192. Only call this if you think that this tread is being reused after
  31193. a previous call execution which may not have completed correctly.
  31194. You do not need to use this method if you always guarantee to call
  31195. the <see cref="M:System.IDisposable.Dispose"/> method of the <see cref="T:System.IDisposable"/>
  31196. returned from <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> even in exceptional circumstances,
  31197. for example by using the <c>using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))</c>
  31198. syntax.
  31199. </para>
  31200. </remarks>
  31201. </member>
  31202. <member name="M:log4net.Util.ThreadContextStack.Pop">
  31203. <summary>
  31204. Removes the top context from this stack.
  31205. </summary>
  31206. <returns>The message in the context that was removed from the top of this stack.</returns>
  31207. <remarks>
  31208. <para>
  31209. Remove the top context from this stack, and return
  31210. it to the caller. If this stack is empty then an
  31211. empty string (not <see langword="null"/>) is returned.
  31212. </para>
  31213. </remarks>
  31214. </member>
  31215. <member name="M:log4net.Util.ThreadContextStack.Push(System.String)">
  31216. <summary>
  31217. Pushes a new context message into this stack.
  31218. </summary>
  31219. <param name="message">The new context message.</param>
  31220. <returns>
  31221. An <see cref="T:System.IDisposable"/> that can be used to clean up the context stack.
  31222. </returns>
  31223. <remarks>
  31224. <para>
  31225. Pushes a new context onto this stack. An <see cref="T:System.IDisposable"/>
  31226. is returned that can be used to clean up this stack. This
  31227. can be easily combined with the <c>using</c> keyword to scope the
  31228. context.
  31229. </para>
  31230. </remarks>
  31231. <example>Simple example of using the <c>Push</c> method with the <c>using</c> keyword.
  31232. <code lang="C#">
  31233. using(log4net.ThreadContext.Stacks["NDC"].Push("Stack_Message"))
  31234. {
  31235. log.Warn("This should have an ThreadContext Stack message");
  31236. }
  31237. </code>
  31238. </example>
  31239. </member>
  31240. <member name="M:log4net.Util.ThreadContextStack.GetFullMessage">
  31241. <summary>
  31242. Gets the current context information for this stack.
  31243. </summary>
  31244. <returns>The current context information.</returns>
  31245. </member>
  31246. <member name="P:log4net.Util.ThreadContextStack.InternalStack">
  31247. <summary>
  31248. Gets and sets the internal stack used by this <see cref="T:log4net.Util.ThreadContextStack"/>
  31249. </summary>
  31250. <value>The internal storage stack</value>
  31251. <remarks>
  31252. <para>
  31253. This property is provided only to support backward compatability
  31254. of the <see cref="T:log4net.NDC"/>. Tytpically the internal stack should not
  31255. be modified.
  31256. </para>
  31257. </remarks>
  31258. </member>
  31259. <member name="M:log4net.Util.ThreadContextStack.ToString">
  31260. <summary>
  31261. Gets the current context information for this stack.
  31262. </summary>
  31263. <returns>Gets the current context information</returns>
  31264. <remarks>
  31265. <para>
  31266. Gets the current context information for this stack.
  31267. </para>
  31268. </remarks>
  31269. </member>
  31270. <member name="M:log4net.Util.ThreadContextStack.log4net#Core#IFixingRequired#GetFixedObject">
  31271. <summary>
  31272. Get a portable version of this object
  31273. </summary>
  31274. <returns>the portable instance of this object</returns>
  31275. <remarks>
  31276. <para>
  31277. Get a cross thread portable version of this object
  31278. </para>
  31279. </remarks>
  31280. </member>
  31281. <member name="T:log4net.Util.ThreadContextStack.StackFrame">
  31282. <summary>
  31283. Inner class used to represent a single context frame in the stack.
  31284. </summary>
  31285. <remarks>
  31286. <para>
  31287. Inner class used to represent a single context frame in the stack.
  31288. </para>
  31289. </remarks>
  31290. </member>
  31291. <member name="M:log4net.Util.ThreadContextStack.StackFrame.#ctor(System.String,log4net.Util.ThreadContextStack.StackFrame)">
  31292. <summary>
  31293. Constructor
  31294. </summary>
  31295. <param name="message">The message for this context.</param>
  31296. <param name="parent">The parent context in the chain.</param>
  31297. <remarks>
  31298. <para>
  31299. Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.StackFrame" /> class
  31300. with the specified message and parent context.
  31301. </para>
  31302. </remarks>
  31303. </member>
  31304. <member name="P:log4net.Util.ThreadContextStack.StackFrame.Message">
  31305. <summary>
  31306. Get the message.
  31307. </summary>
  31308. <value>The message.</value>
  31309. <remarks>
  31310. <para>
  31311. Get the message.
  31312. </para>
  31313. </remarks>
  31314. </member>
  31315. <member name="P:log4net.Util.ThreadContextStack.StackFrame.FullMessage">
  31316. <summary>
  31317. Gets the full text of the context down to the root level.
  31318. </summary>
  31319. <value>
  31320. The full text of the context down to the root level.
  31321. </value>
  31322. <remarks>
  31323. <para>
  31324. Gets the full text of the context down to the root level.
  31325. </para>
  31326. </remarks>
  31327. </member>
  31328. <member name="T:log4net.Util.ThreadContextStack.AutoPopStackFrame">
  31329. <summary>
  31330. Struct returned from the <see cref="M:log4net.Util.ThreadContextStack.Push(System.String)"/> method.
  31331. </summary>
  31332. <remarks>
  31333. <para>
  31334. This struct implements the <see cref="T:System.IDisposable"/> and is designed to be used
  31335. with the <see langword="using"/> pattern to remove the stack frame at the end of the scope.
  31336. </para>
  31337. </remarks>
  31338. </member>
  31339. <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameStack">
  31340. <summary>
  31341. The ThreadContextStack internal stack
  31342. </summary>
  31343. </member>
  31344. <member name="F:log4net.Util.ThreadContextStack.AutoPopStackFrame.m_frameDepth">
  31345. <summary>
  31346. The depth to trim the stack to when this instance is disposed
  31347. </summary>
  31348. </member>
  31349. <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.#ctor(System.Collections.Stack,System.Int32)">
  31350. <summary>
  31351. Constructor
  31352. </summary>
  31353. <param name="frameStack">The internal stack used by the ThreadContextStack.</param>
  31354. <param name="frameDepth">The depth to return the stack to when this object is disposed.</param>
  31355. <remarks>
  31356. <para>
  31357. Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStack.AutoPopStackFrame" /> class with
  31358. the specified stack and return depth.
  31359. </para>
  31360. </remarks>
  31361. </member>
  31362. <member name="M:log4net.Util.ThreadContextStack.AutoPopStackFrame.Dispose">
  31363. <summary>
  31364. Returns the stack to the correct depth.
  31365. </summary>
  31366. <remarks>
  31367. <para>
  31368. Returns the stack to the correct depth.
  31369. </para>
  31370. </remarks>
  31371. </member>
  31372. <member name="T:log4net.Util.ThreadContextStacks">
  31373. <summary>
  31374. Implementation of Stacks collection for the <see cref="T:log4net.ThreadContext"/>
  31375. </summary>
  31376. <remarks>
  31377. <para>
  31378. Implementation of Stacks collection for the <see cref="T:log4net.ThreadContext"/>
  31379. </para>
  31380. </remarks>
  31381. <author>Nicko Cadell</author>
  31382. </member>
  31383. <member name="M:log4net.Util.ThreadContextStacks.#ctor(log4net.Util.ContextPropertiesBase)">
  31384. <summary>
  31385. Internal constructor
  31386. </summary>
  31387. <remarks>
  31388. <para>
  31389. Initializes a new instance of the <see cref="T:log4net.Util.ThreadContextStacks" /> class.
  31390. </para>
  31391. </remarks>
  31392. </member>
  31393. <member name="P:log4net.Util.ThreadContextStacks.Item(System.String)">
  31394. <summary>
  31395. Gets the named thread context stack
  31396. </summary>
  31397. <value>
  31398. The named stack
  31399. </value>
  31400. <remarks>
  31401. <para>
  31402. Gets the named thread context stack
  31403. </para>
  31404. </remarks>
  31405. </member>
  31406. <member name="F:log4net.Util.ThreadContextStacks.declaringType">
  31407. <summary>
  31408. The fully qualified type of the ThreadContextStacks class.
  31409. </summary>
  31410. <remarks>
  31411. Used by the internal logger to record the Type of the
  31412. log message.
  31413. </remarks>
  31414. </member>
  31415. <member name="T:log4net.Util.Transform">
  31416. <summary>
  31417. Utility class for transforming strings.
  31418. </summary>
  31419. <remarks>
  31420. <para>
  31421. Utility class for transforming strings.
  31422. </para>
  31423. </remarks>
  31424. <author>Nicko Cadell</author>
  31425. <author>Gert Driesen</author>
  31426. </member>
  31427. <member name="M:log4net.Util.Transform.#ctor">
  31428. <summary>
  31429. Initializes a new instance of the <see cref="T:log4net.Util.Transform" /> class.
  31430. </summary>
  31431. <remarks>
  31432. <para>
  31433. Uses a private access modifier to prevent instantiation of this class.
  31434. </para>
  31435. </remarks>
  31436. </member>
  31437. <member name="M:log4net.Util.Transform.WriteEscapedXmlString(System.Xml.XmlWriter,System.String,System.String)">
  31438. <summary>
  31439. Write a string to an <see cref="T:System.Xml.XmlWriter"/>
  31440. </summary>
  31441. <param name="writer">the writer to write to</param>
  31442. <param name="textData">the string to write</param>
  31443. <param name="invalidCharReplacement">The string to replace non XML compliant chars with</param>
  31444. <remarks>
  31445. <para>
  31446. The test is escaped either using XML escape entities
  31447. or using CDATA sections.
  31448. </para>
  31449. </remarks>
  31450. </member>
  31451. <member name="M:log4net.Util.Transform.MaskXmlInvalidCharacters(System.String,System.String)">
  31452. <summary>
  31453. Replace invalid XML characters in text string
  31454. </summary>
  31455. <param name="textData">the XML text input string</param>
  31456. <param name="mask">the string to use in place of invalid characters</param>
  31457. <returns>A string that does not contain invalid XML characters.</returns>
  31458. <remarks>
  31459. <para>
  31460. Certain Unicode code points are not allowed in the XML InfoSet, for
  31461. details see: <a href="http://www.w3.org/TR/REC-xml/#charsets">http://www.w3.org/TR/REC-xml/#charsets</a>.
  31462. </para>
  31463. <para>
  31464. This method replaces any illegal characters in the input string
  31465. with the mask string specified.
  31466. </para>
  31467. </remarks>
  31468. </member>
  31469. <member name="M:log4net.Util.Transform.CountSubstrings(System.String,System.String)">
  31470. <summary>
  31471. Count the number of times that the substring occurs in the text
  31472. </summary>
  31473. <param name="text">the text to search</param>
  31474. <param name="substring">the substring to find</param>
  31475. <returns>the number of times the substring occurs in the text</returns>
  31476. <remarks>
  31477. <para>
  31478. The substring is assumed to be non repeating within itself.
  31479. </para>
  31480. </remarks>
  31481. </member>
  31482. <member name="F:log4net.Util.Transform.INVALIDCHARS">
  31483. <summary>
  31484. Characters illegal in XML 1.0
  31485. </summary>
  31486. </member>
  31487. <member name="T:log4net.Util.TypeConverters.BooleanConverter">
  31488. <summary>
  31489. Type converter for Boolean.
  31490. </summary>
  31491. <remarks>
  31492. <para>
  31493. Supports conversion from string to <c>bool</c> type.
  31494. </para>
  31495. </remarks>
  31496. <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
  31497. <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  31498. <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
  31499. <author>Nicko Cadell</author>
  31500. <author>Gert Driesen</author>
  31501. </member>
  31502. <member name="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)">
  31503. <summary>
  31504. Can the source type be converted to the type supported by this object
  31505. </summary>
  31506. <param name="sourceType">the type to convert</param>
  31507. <returns>true if the conversion is possible</returns>
  31508. <remarks>
  31509. <para>
  31510. Returns <c>true</c> if the <paramref name="sourceType"/> is
  31511. the <see cref="T:System.String"/> type.
  31512. </para>
  31513. </remarks>
  31514. </member>
  31515. <member name="M:log4net.Util.TypeConverters.BooleanConverter.ConvertFrom(System.Object)">
  31516. <summary>
  31517. Convert the source object to the type supported by this object
  31518. </summary>
  31519. <param name="source">the object to convert</param>
  31520. <returns>the converted object</returns>
  31521. <remarks>
  31522. <para>
  31523. Uses the <see cref="M:System.Boolean.Parse(System.String)"/> method to convert the
  31524. <see cref="T:System.String"/> argument to a <see cref="T:System.Boolean"/>.
  31525. </para>
  31526. </remarks>
  31527. <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
  31528. The <paramref name="source"/> object cannot be converted to the
  31529. target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.BooleanConverter.CanConvertFrom(System.Type)"/>
  31530. method.
  31531. </exception>
  31532. </member>
  31533. <member name="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
  31534. <summary>
  31535. Exception base type for conversion errors.
  31536. </summary>
  31537. <remarks>
  31538. <para>
  31539. This type extends <see cref="T:System.ApplicationException"/>. It
  31540. does not add any new functionality but does differentiate the
  31541. type of exception being thrown.
  31542. </para>
  31543. </remarks>
  31544. <author>Nicko Cadell</author>
  31545. <author>Gert Driesen</author>
  31546. </member>
  31547. <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor">
  31548. <summary>
  31549. Constructor
  31550. </summary>
  31551. <remarks>
  31552. <para>
  31553. Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" /> class.
  31554. </para>
  31555. </remarks>
  31556. </member>
  31557. <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.String)">
  31558. <summary>
  31559. Constructor
  31560. </summary>
  31561. <param name="message">A message to include with the exception.</param>
  31562. <remarks>
  31563. <para>
  31564. Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" /> class
  31565. with the specified message.
  31566. </para>
  31567. </remarks>
  31568. </member>
  31569. <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.String,System.Exception)">
  31570. <summary>
  31571. Constructor
  31572. </summary>
  31573. <param name="message">A message to include with the exception.</param>
  31574. <param name="innerException">A nested exception to include.</param>
  31575. <remarks>
  31576. <para>
  31577. Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" /> class
  31578. with the specified message and inner exception.
  31579. </para>
  31580. </remarks>
  31581. </member>
  31582. <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
  31583. <summary>
  31584. Serialization constructor
  31585. </summary>
  31586. <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
  31587. <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
  31588. <remarks>
  31589. <para>
  31590. Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" /> class
  31591. with serialized data.
  31592. </para>
  31593. </remarks>
  31594. </member>
  31595. <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object)">
  31596. <summary>
  31597. Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" /> class.
  31598. </summary>
  31599. <param name="destinationType">The conversion destination type.</param>
  31600. <param name="sourceValue">The value to convert.</param>
  31601. <returns>An instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" />.</returns>
  31602. <remarks>
  31603. <para>
  31604. Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" /> class.
  31605. </para>
  31606. </remarks>
  31607. </member>
  31608. <member name="M:log4net.Util.TypeConverters.ConversionNotSupportedException.Create(System.Type,System.Object,System.Exception)">
  31609. <summary>
  31610. Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" /> class.
  31611. </summary>
  31612. <param name="destinationType">The conversion destination type.</param>
  31613. <param name="sourceValue">The value to convert.</param>
  31614. <param name="innerException">A nested exception to include.</param>
  31615. <returns>An instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" />.</returns>
  31616. <remarks>
  31617. <para>
  31618. Creates a new instance of the <see cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException" /> class.
  31619. </para>
  31620. </remarks>
  31621. </member>
  31622. <member name="T:log4net.Util.TypeConverters.ConverterRegistry">
  31623. <summary>
  31624. Register of type converters for specific types.
  31625. </summary>
  31626. <remarks>
  31627. <para>
  31628. Maintains a registry of type converters used to convert between
  31629. types.
  31630. </para>
  31631. <para>
  31632. Use the <see cref="M:AddConverter(Type, object)"/> and
  31633. <see cref="M:AddConverter(Type, Type)"/> methods to register new converters.
  31634. The <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)"/> and <see cref="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)"/> methods
  31635. lookup appropriate converters to use.
  31636. </para>
  31637. </remarks>
  31638. <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  31639. <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
  31640. <author>Nicko Cadell</author>
  31641. <author>Gert Driesen</author>
  31642. </member>
  31643. <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#ctor">
  31644. <summary>
  31645. Private constructor
  31646. </summary>
  31647. <remarks>
  31648. Initializes a new instance of the <see cref="T:log4net.Util.TypeConverters.ConverterRegistry" /> class.
  31649. </remarks>
  31650. </member>
  31651. <member name="M:log4net.Util.TypeConverters.ConverterRegistry.#cctor">
  31652. <summary>
  31653. Static constructor.
  31654. </summary>
  31655. <remarks>
  31656. <para>
  31657. This constructor defines the intrinsic type converters.
  31658. </para>
  31659. </remarks>
  31660. </member>
  31661. <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Object)">
  31662. <summary>
  31663. Adds a converter for a specific type.
  31664. </summary>
  31665. <param name="destinationType">The type being converted to.</param>
  31666. <param name="converter">The type converter to use to convert to the destination type.</param>
  31667. <remarks>
  31668. <para>
  31669. Adds a converter instance for a specific type.
  31670. </para>
  31671. </remarks>
  31672. </member>
  31673. <member name="M:log4net.Util.TypeConverters.ConverterRegistry.AddConverter(System.Type,System.Type)">
  31674. <summary>
  31675. Adds a converter for a specific type.
  31676. </summary>
  31677. <param name="destinationType">The type being converted to.</param>
  31678. <param name="converterType">The type of the type converter to use to convert to the destination type.</param>
  31679. <remarks>
  31680. <para>
  31681. Adds a converter <see cref="T:System.Type"/> for a specific type.
  31682. </para>
  31683. </remarks>
  31684. </member>
  31685. <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertTo(System.Type,System.Type)">
  31686. <summary>
  31687. Gets the type converter to use to convert values to the destination type.
  31688. </summary>
  31689. <param name="sourceType">The type being converted from.</param>
  31690. <param name="destinationType">The type being converted to.</param>
  31691. <returns>
  31692. The type converter instance to use for type conversions or <c>null</c>
  31693. if no type converter is found.
  31694. </returns>
  31695. <remarks>
  31696. <para>
  31697. Gets the type converter to use to convert values to the destination type.
  31698. </para>
  31699. </remarks>
  31700. </member>
  31701. <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConvertFrom(System.Type)">
  31702. <summary>
  31703. Gets the type converter to use to convert values to the destination type.
  31704. </summary>
  31705. <param name="destinationType">The type being converted to.</param>
  31706. <returns>
  31707. The type converter instance to use for type conversions or <c>null</c>
  31708. if no type converter is found.
  31709. </returns>
  31710. <remarks>
  31711. <para>
  31712. Gets the type converter to use to convert values to the destination type.
  31713. </para>
  31714. </remarks>
  31715. </member>
  31716. <member name="M:log4net.Util.TypeConverters.ConverterRegistry.GetConverterFromAttribute(System.Type)">
  31717. <summary>
  31718. Lookups the type converter to use as specified by the attributes on the
  31719. destination type.
  31720. </summary>
  31721. <param name="destinationType">The type being converted to.</param>
  31722. <returns>
  31723. The type converter instance to use for type conversions or <c>null</c>
  31724. if no type converter is found.
  31725. </returns>
  31726. </member>
  31727. <member name="M:log4net.Util.TypeConverters.ConverterRegistry.CreateConverterInstance(System.Type)">
  31728. <summary>
  31729. Creates the instance of the type converter.
  31730. </summary>
  31731. <param name="converterType">The type of the type converter.</param>
  31732. <returns>
  31733. The type converter instance to use for type conversions or <c>null</c>
  31734. if no type converter is found.
  31735. </returns>
  31736. <remarks>
  31737. <para>
  31738. The type specified for the type converter must implement
  31739. the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/> or <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces
  31740. and must have a public default (no argument) constructor.
  31741. </para>
  31742. </remarks>
  31743. </member>
  31744. <member name="F:log4net.Util.TypeConverters.ConverterRegistry.declaringType">
  31745. <summary>
  31746. The fully qualified type of the ConverterRegistry class.
  31747. </summary>
  31748. <remarks>
  31749. Used by the internal logger to record the Type of the
  31750. log message.
  31751. </remarks>
  31752. </member>
  31753. <member name="F:log4net.Util.TypeConverters.ConverterRegistry.s_type2converter">
  31754. <summary>
  31755. Mapping from <see cref="T:System.Type" /> to type converter.
  31756. </summary>
  31757. </member>
  31758. <member name="T:log4net.Util.TypeConverters.EncodingConverter">
  31759. <summary>
  31760. Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
  31761. </summary>
  31762. <remarks>
  31763. <para>
  31764. Supports conversion from string to <see cref="T:System.Text.Encoding"/> type.
  31765. </para>
  31766. </remarks>
  31767. <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
  31768. <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  31769. <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
  31770. <author>Nicko Cadell</author>
  31771. <author>Gert Driesen</author>
  31772. </member>
  31773. <member name="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)">
  31774. <summary>
  31775. Can the source type be converted to the type supported by this object
  31776. </summary>
  31777. <param name="sourceType">the type to convert</param>
  31778. <returns>true if the conversion is possible</returns>
  31779. <remarks>
  31780. <para>
  31781. Returns <c>true</c> if the <paramref name="sourceType"/> is
  31782. the <see cref="T:System.String"/> type.
  31783. </para>
  31784. </remarks>
  31785. </member>
  31786. <member name="M:log4net.Util.TypeConverters.EncodingConverter.ConvertFrom(System.Object)">
  31787. <summary>
  31788. Overrides the ConvertFrom method of IConvertFrom.
  31789. </summary>
  31790. <param name="source">the object to convert to an encoding</param>
  31791. <returns>the encoding</returns>
  31792. <remarks>
  31793. <para>
  31794. Uses the <see cref="M:Encoding.GetEncoding(string)"/> method to
  31795. convert the <see cref="T:System.String"/> argument to an <see cref="T:System.Text.Encoding"/>.
  31796. </para>
  31797. </remarks>
  31798. <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
  31799. The <paramref name="source"/> object cannot be converted to the
  31800. target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.EncodingConverter.CanConvertFrom(System.Type)"/>
  31801. method.
  31802. </exception>
  31803. </member>
  31804. <member name="T:log4net.Util.TypeConverters.IConvertFrom">
  31805. <summary>
  31806. Interface supported by type converters
  31807. </summary>
  31808. <remarks>
  31809. <para>
  31810. This interface supports conversion from arbitrary types
  31811. to a single target type. See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
  31812. </para>
  31813. </remarks>
  31814. <author>Nicko Cadell</author>
  31815. <author>Gert Driesen</author>
  31816. </member>
  31817. <member name="M:log4net.Util.TypeConverters.IConvertFrom.CanConvertFrom(System.Type)">
  31818. <summary>
  31819. Can the source type be converted to the type supported by this object
  31820. </summary>
  31821. <param name="sourceType">the type to convert</param>
  31822. <returns>true if the conversion is possible</returns>
  31823. <remarks>
  31824. <para>
  31825. Test if the <paramref name="sourceType"/> can be converted to the
  31826. type supported by this converter.
  31827. </para>
  31828. </remarks>
  31829. </member>
  31830. <member name="M:log4net.Util.TypeConverters.IConvertFrom.ConvertFrom(System.Object)">
  31831. <summary>
  31832. Convert the source object to the type supported by this object
  31833. </summary>
  31834. <param name="source">the object to convert</param>
  31835. <returns>the converted object</returns>
  31836. <remarks>
  31837. <para>
  31838. Converts the <paramref name="source"/> to the type supported
  31839. by this converter.
  31840. </para>
  31841. </remarks>
  31842. </member>
  31843. <member name="T:log4net.Util.TypeConverters.IConvertTo">
  31844. <summary>
  31845. Interface supported by type converters
  31846. </summary>
  31847. <remarks>
  31848. <para>
  31849. This interface supports conversion from a single type to arbitrary types.
  31850. See <see cref="T:log4net.Util.TypeConverters.TypeConverterAttribute"/>.
  31851. </para>
  31852. </remarks>
  31853. <author>Nicko Cadell</author>
  31854. </member>
  31855. <member name="M:log4net.Util.TypeConverters.IConvertTo.CanConvertTo(System.Type)">
  31856. <summary>
  31857. Returns whether this converter can convert the object to the specified type
  31858. </summary>
  31859. <param name="targetType">A Type that represents the type you want to convert to</param>
  31860. <returns>true if the conversion is possible</returns>
  31861. <remarks>
  31862. <para>
  31863. Test if the type supported by this converter can be converted to the
  31864. <paramref name="targetType"/>.
  31865. </para>
  31866. </remarks>
  31867. </member>
  31868. <member name="M:log4net.Util.TypeConverters.IConvertTo.ConvertTo(System.Object,System.Type)">
  31869. <summary>
  31870. Converts the given value object to the specified type, using the arguments
  31871. </summary>
  31872. <param name="source">the object to convert</param>
  31873. <param name="targetType">The Type to convert the value parameter to</param>
  31874. <returns>the converted object</returns>
  31875. <remarks>
  31876. <para>
  31877. Converts the <paramref name="source"/> (which must be of the type supported
  31878. by this converter) to the <paramref name="targetType"/> specified..
  31879. </para>
  31880. </remarks>
  31881. </member>
  31882. <member name="T:log4net.Util.TypeConverters.IPAddressConverter">
  31883. <summary>
  31884. Supports conversion from string to <see cref="T:System.Net.IPAddress"/> type.
  31885. </summary>
  31886. <remarks>
  31887. <para>
  31888. Supports conversion from string to <see cref="T:System.Net.IPAddress"/> type.
  31889. </para>
  31890. </remarks>
  31891. <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
  31892. <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  31893. <author>Nicko Cadell</author>
  31894. </member>
  31895. <member name="M:log4net.Util.TypeConverters.IPAddressConverter.CanConvertFrom(System.Type)">
  31896. <summary>
  31897. Can the source type be converted to the type supported by this object
  31898. </summary>
  31899. <param name="sourceType">the type to convert</param>
  31900. <returns>true if the conversion is possible</returns>
  31901. <remarks>
  31902. <para>
  31903. Returns <c>true</c> if the <paramref name="sourceType"/> is
  31904. the <see cref="T:System.String"/> type.
  31905. </para>
  31906. </remarks>
  31907. </member>
  31908. <member name="M:log4net.Util.TypeConverters.IPAddressConverter.ConvertFrom(System.Object)">
  31909. <summary>
  31910. Overrides the ConvertFrom method of IConvertFrom.
  31911. </summary>
  31912. <param name="source">the object to convert to an IPAddress</param>
  31913. <returns>the IPAddress</returns>
  31914. <remarks>
  31915. <para>
  31916. Uses the <see cref="M:System.Net.IPAddress.Parse(System.String)"/> method to convert the
  31917. <see cref="T:System.String"/> argument to an <see cref="T:System.Net.IPAddress"/>.
  31918. If that fails then the string is resolved as a DNS hostname.
  31919. </para>
  31920. </remarks>
  31921. <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
  31922. The <paramref name="source"/> object cannot be converted to the
  31923. target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.IPAddressConverter.CanConvertFrom(System.Type)"/>
  31924. method.
  31925. </exception>
  31926. </member>
  31927. <member name="F:log4net.Util.TypeConverters.IPAddressConverter.validIpAddressChars">
  31928. <summary>
  31929. Valid characters in an IPv4 or IPv6 address string. (Does not support subnets)
  31930. </summary>
  31931. </member>
  31932. <member name="T:log4net.Util.TypeConverters.PatternLayoutConverter">
  31933. <summary>
  31934. Supports conversion from string to <see cref="T:log4net.Layout.PatternLayout"/> type.
  31935. </summary>
  31936. <remarks>
  31937. <para>
  31938. Supports conversion from string to <see cref="T:log4net.Layout.PatternLayout"/> type.
  31939. </para>
  31940. <para>
  31941. The string is used as the <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/>
  31942. of the <see cref="T:log4net.Layout.PatternLayout"/>.
  31943. </para>
  31944. </remarks>
  31945. <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
  31946. <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  31947. <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
  31948. <author>Nicko Cadell</author>
  31949. </member>
  31950. <member name="M:log4net.Util.TypeConverters.PatternLayoutConverter.CanConvertFrom(System.Type)">
  31951. <summary>
  31952. Can the source type be converted to the type supported by this object
  31953. </summary>
  31954. <param name="sourceType">the type to convert</param>
  31955. <returns>true if the conversion is possible</returns>
  31956. <remarks>
  31957. <para>
  31958. Returns <c>true</c> if the <paramref name="sourceType"/> is
  31959. the <see cref="T:System.String"/> type.
  31960. </para>
  31961. </remarks>
  31962. </member>
  31963. <member name="M:log4net.Util.TypeConverters.PatternLayoutConverter.ConvertFrom(System.Object)">
  31964. <summary>
  31965. Overrides the ConvertFrom method of IConvertFrom.
  31966. </summary>
  31967. <param name="source">the object to convert to a PatternLayout</param>
  31968. <returns>the PatternLayout</returns>
  31969. <remarks>
  31970. <para>
  31971. Creates and returns a new <see cref="T:log4net.Layout.PatternLayout"/> using
  31972. the <paramref name="source"/> <see cref="T:System.String"/> as the
  31973. <see cref="P:log4net.Layout.PatternLayout.ConversionPattern"/>.
  31974. </para>
  31975. </remarks>
  31976. <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
  31977. The <paramref name="source"/> object cannot be converted to the
  31978. target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.PatternLayoutConverter.CanConvertFrom(System.Type)"/>
  31979. method.
  31980. </exception>
  31981. </member>
  31982. <member name="T:log4net.Util.TypeConverters.PatternStringConverter">
  31983. <summary>
  31984. Convert between string and <see cref="T:log4net.Util.PatternString"/>
  31985. </summary>
  31986. <remarks>
  31987. <para>
  31988. Supports conversion from string to <see cref="T:log4net.Util.PatternString"/> type,
  31989. and from a <see cref="T:log4net.Util.PatternString"/> type to a string.
  31990. </para>
  31991. <para>
  31992. The string is used as the <see cref="P:log4net.Util.PatternString.ConversionPattern"/>
  31993. of the <see cref="T:log4net.Util.PatternString"/>.
  31994. </para>
  31995. </remarks>
  31996. <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
  31997. <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  31998. <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
  31999. <author>Nicko Cadell</author>
  32000. </member>
  32001. <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)">
  32002. <summary>
  32003. Can the target type be converted to the type supported by this object
  32004. </summary>
  32005. <param name="targetType">A <see cref="T:System.Type"/> that represents the type you want to convert to</param>
  32006. <returns>true if the conversion is possible</returns>
  32007. <remarks>
  32008. <para>
  32009. Returns <c>true</c> if the <paramref name="targetType"/> is
  32010. assignable from a <see cref="T:System.String"/> type.
  32011. </para>
  32012. </remarks>
  32013. </member>
  32014. <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertTo(System.Object,System.Type)">
  32015. <summary>
  32016. Converts the given value object to the specified type, using the arguments
  32017. </summary>
  32018. <param name="source">the object to convert</param>
  32019. <param name="targetType">The Type to convert the value parameter to</param>
  32020. <returns>the converted object</returns>
  32021. <remarks>
  32022. <para>
  32023. Uses the <see cref="M:PatternString.Format()"/> method to convert the
  32024. <see cref="T:log4net.Util.PatternString"/> argument to a <see cref="T:System.String"/>.
  32025. </para>
  32026. </remarks>
  32027. <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
  32028. The <paramref name="source"/> object cannot be converted to the
  32029. <paramref name="targetType"/>. To check for this condition use the
  32030. <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertTo(System.Type)"/> method.
  32031. </exception>
  32032. </member>
  32033. <member name="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)">
  32034. <summary>
  32035. Can the source type be converted to the type supported by this object
  32036. </summary>
  32037. <param name="sourceType">the type to convert</param>
  32038. <returns>true if the conversion is possible</returns>
  32039. <remarks>
  32040. <para>
  32041. Returns <c>true</c> if the <paramref name="sourceType"/> is
  32042. the <see cref="T:System.String"/> type.
  32043. </para>
  32044. </remarks>
  32045. </member>
  32046. <member name="M:log4net.Util.TypeConverters.PatternStringConverter.ConvertFrom(System.Object)">
  32047. <summary>
  32048. Overrides the ConvertFrom method of IConvertFrom.
  32049. </summary>
  32050. <param name="source">the object to convert to a PatternString</param>
  32051. <returns>the PatternString</returns>
  32052. <remarks>
  32053. <para>
  32054. Creates and returns a new <see cref="T:log4net.Util.PatternString"/> using
  32055. the <paramref name="source"/> <see cref="T:System.String"/> as the
  32056. <see cref="P:log4net.Util.PatternString.ConversionPattern"/>.
  32057. </para>
  32058. </remarks>
  32059. <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
  32060. The <paramref name="source"/> object cannot be converted to the
  32061. target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.PatternStringConverter.CanConvertFrom(System.Type)"/>
  32062. method.
  32063. </exception>
  32064. </member>
  32065. <member name="T:log4net.Util.TypeConverters.TypeConverter">
  32066. <summary>
  32067. Supports conversion from string to <see cref="T:System.Type"/> type.
  32068. </summary>
  32069. <remarks>
  32070. <para>
  32071. Supports conversion from string to <see cref="T:System.Type"/> type.
  32072. </para>
  32073. </remarks>
  32074. <seealso cref="T:log4net.Util.TypeConverters.ConverterRegistry"/>
  32075. <seealso cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  32076. <seealso cref="T:log4net.Util.TypeConverters.IConvertTo"/>
  32077. <author>Nicko Cadell</author>
  32078. </member>
  32079. <member name="M:log4net.Util.TypeConverters.TypeConverter.CanConvertFrom(System.Type)">
  32080. <summary>
  32081. Can the source type be converted to the type supported by this object
  32082. </summary>
  32083. <param name="sourceType">the type to convert</param>
  32084. <returns>true if the conversion is possible</returns>
  32085. <remarks>
  32086. <para>
  32087. Returns <c>true</c> if the <paramref name="sourceType"/> is
  32088. the <see cref="T:System.String"/> type.
  32089. </para>
  32090. </remarks>
  32091. </member>
  32092. <member name="M:log4net.Util.TypeConverters.TypeConverter.ConvertFrom(System.Object)">
  32093. <summary>
  32094. Overrides the ConvertFrom method of IConvertFrom.
  32095. </summary>
  32096. <param name="source">the object to convert to a Type</param>
  32097. <returns>the Type</returns>
  32098. <remarks>
  32099. <para>
  32100. Uses the <see cref="M:Type.GetType(string,bool)"/> method to convert the
  32101. <see cref="T:System.String"/> argument to a <see cref="T:System.Type"/>.
  32102. Additional effort is made to locate partially specified types
  32103. by searching the loaded assemblies.
  32104. </para>
  32105. </remarks>
  32106. <exception cref="T:log4net.Util.TypeConverters.ConversionNotSupportedException">
  32107. The <paramref name="source"/> object cannot be converted to the
  32108. target type. To check for this condition use the <see cref="M:log4net.Util.TypeConverters.TypeConverter.CanConvertFrom(System.Type)"/>
  32109. method.
  32110. </exception>
  32111. </member>
  32112. <member name="T:log4net.Util.TypeConverters.TypeConverterAttribute">
  32113. <summary>
  32114. Attribute used to associate a type converter
  32115. </summary>
  32116. <remarks>
  32117. <para>
  32118. Class and Interface level attribute that specifies a type converter
  32119. to use with the associated type.
  32120. </para>
  32121. <para>
  32122. To associate a type converter with a target type apply a
  32123. <c>TypeConverterAttribute</c> to the target type. Specify the
  32124. type of the type converter on the attribute.
  32125. </para>
  32126. </remarks>
  32127. <author>Nicko Cadell</author>
  32128. <author>Gert Driesen</author>
  32129. </member>
  32130. <member name="F:log4net.Util.TypeConverters.TypeConverterAttribute.m_typeName">
  32131. <summary>
  32132. The string type name of the type converter
  32133. </summary>
  32134. </member>
  32135. <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor">
  32136. <summary>
  32137. Default constructor
  32138. </summary>
  32139. <remarks>
  32140. <para>
  32141. Default constructor
  32142. </para>
  32143. </remarks>
  32144. </member>
  32145. <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.String)">
  32146. <summary>
  32147. Create a new type converter attribute for the specified type name
  32148. </summary>
  32149. <param name="typeName">The string type name of the type converter</param>
  32150. <remarks>
  32151. <para>
  32152. The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  32153. or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
  32154. </para>
  32155. </remarks>
  32156. </member>
  32157. <member name="M:log4net.Util.TypeConverters.TypeConverterAttribute.#ctor(System.Type)">
  32158. <summary>
  32159. Create a new type converter attribute for the specified type
  32160. </summary>
  32161. <param name="converterType">The type of the type converter</param>
  32162. <remarks>
  32163. <para>
  32164. The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  32165. or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
  32166. </para>
  32167. </remarks>
  32168. </member>
  32169. <member name="P:log4net.Util.TypeConverters.TypeConverterAttribute.ConverterTypeName">
  32170. <summary>
  32171. The string type name of the type converter
  32172. </summary>
  32173. <value>
  32174. The string type name of the type converter
  32175. </value>
  32176. <remarks>
  32177. <para>
  32178. The type specified must implement the <see cref="T:log4net.Util.TypeConverters.IConvertFrom"/>
  32179. or the <see cref="T:log4net.Util.TypeConverters.IConvertTo"/> interfaces.
  32180. </para>
  32181. </remarks>
  32182. </member>
  32183. <member name="T:log4net.Util.WindowsSecurityContext">
  32184. <summary>
  32185. Impersonate a Windows Account
  32186. </summary>
  32187. <remarks>
  32188. <para>
  32189. This <see cref="T:log4net.Core.SecurityContext"/> impersonates a Windows account.
  32190. </para>
  32191. <para>
  32192. How the impersonation is done depends on the value of <see cref="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)"/>.
  32193. This allows the context to either impersonate a set of user credentials specified
  32194. using username, domain name and password or to revert to the process credentials.
  32195. </para>
  32196. </remarks>
  32197. </member>
  32198. <member name="T:log4net.Util.WindowsSecurityContext.ImpersonationMode">
  32199. <summary>
  32200. The impersonation modes for the <see cref="T:log4net.Util.WindowsSecurityContext"/>
  32201. </summary>
  32202. <remarks>
  32203. <para>
  32204. See the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property for
  32205. details.
  32206. </para>
  32207. </remarks>
  32208. </member>
  32209. <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User">
  32210. <summary>
  32211. Impersonate a user using the credentials supplied
  32212. </summary>
  32213. </member>
  32214. <member name="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process">
  32215. <summary>
  32216. Revert this the thread to the credentials of the process
  32217. </summary>
  32218. </member>
  32219. <member name="M:log4net.Util.WindowsSecurityContext.#ctor">
  32220. <summary>
  32221. Default constructor
  32222. </summary>
  32223. <remarks>
  32224. <para>
  32225. Default constructor
  32226. </para>
  32227. </remarks>
  32228. </member>
  32229. <member name="P:log4net.Util.WindowsSecurityContext.Credentials">
  32230. <summary>
  32231. Gets or sets the impersonation mode for this security context
  32232. </summary>
  32233. <value>
  32234. The impersonation mode for this security context
  32235. </value>
  32236. <remarks>
  32237. <para>
  32238. Impersonate either a user with user credentials or
  32239. revert this thread to the credentials of the process.
  32240. The value is one of the <see cref="T:log4net.Util.WindowsSecurityContext.ImpersonationMode"/>
  32241. enum.
  32242. </para>
  32243. <para>
  32244. The default value is <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
  32245. </para>
  32246. <para>
  32247. When the mode is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/>
  32248. the user's credentials are established using the
  32249. <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/>, <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.Password"/>
  32250. values.
  32251. </para>
  32252. <para>
  32253. When the mode is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.Process"/>
  32254. no other properties need to be set. If the calling thread is
  32255. impersonating then it will be reverted back to the process credentials.
  32256. </para>
  32257. </remarks>
  32258. </member>
  32259. <member name="P:log4net.Util.WindowsSecurityContext.UserName">
  32260. <summary>
  32261. Gets or sets the Windows username for this security context
  32262. </summary>
  32263. <value>
  32264. The Windows username for this security context
  32265. </value>
  32266. <remarks>
  32267. <para>
  32268. This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
  32269. is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
  32270. </para>
  32271. </remarks>
  32272. </member>
  32273. <member name="P:log4net.Util.WindowsSecurityContext.DomainName">
  32274. <summary>
  32275. Gets or sets the Windows domain name for this security context
  32276. </summary>
  32277. <value>
  32278. The Windows domain name for this security context
  32279. </value>
  32280. <remarks>
  32281. <para>
  32282. The default value for <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> is the local machine name
  32283. taken from the <see cref="P:System.Environment.MachineName"/> property.
  32284. </para>
  32285. <para>
  32286. This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
  32287. is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
  32288. </para>
  32289. </remarks>
  32290. </member>
  32291. <member name="P:log4net.Util.WindowsSecurityContext.Password">
  32292. <summary>
  32293. Sets the password for the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
  32294. </summary>
  32295. <value>
  32296. The password for the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
  32297. </value>
  32298. <remarks>
  32299. <para>
  32300. This property must be set if <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/>
  32301. is set to <see cref="F:log4net.Util.WindowsSecurityContext.ImpersonationMode.User"/> (the default setting).
  32302. </para>
  32303. </remarks>
  32304. </member>
  32305. <member name="M:log4net.Util.WindowsSecurityContext.ActivateOptions">
  32306. <summary>
  32307. Initialize the SecurityContext based on the options set.
  32308. </summary>
  32309. <remarks>
  32310. <para>
  32311. This is part of the <see cref="T:log4net.Core.IOptionHandler"/> delayed object
  32312. activation scheme. The <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> method must
  32313. be called on this object after the configuration properties have
  32314. been set. Until <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> is called this
  32315. object is in an undefined state and must not be used.
  32316. </para>
  32317. <para>
  32318. If any of the configuration properties are modified then
  32319. <see cref="M:log4net.Util.WindowsSecurityContext.ActivateOptions"/> must be called again.
  32320. </para>
  32321. <para>
  32322. The security context will try to Logon the specified user account and
  32323. capture a primary token for impersonation.
  32324. </para>
  32325. </remarks>
  32326. <exception cref="T:System.ArgumentNullException">The required <see cref="P:log4net.Util.WindowsSecurityContext.UserName" />,
  32327. <see cref="P:log4net.Util.WindowsSecurityContext.DomainName" /> or <see cref="P:log4net.Util.WindowsSecurityContext.Password" /> properties were not specified.</exception>
  32328. </member>
  32329. <member name="M:log4net.Util.WindowsSecurityContext.Impersonate(System.Object)">
  32330. <summary>
  32331. Impersonate the Windows account specified by the <see cref="P:log4net.Util.WindowsSecurityContext.UserName"/> and <see cref="P:log4net.Util.WindowsSecurityContext.DomainName"/> properties.
  32332. </summary>
  32333. <param name="state">caller provided state</param>
  32334. <returns>
  32335. An <see cref="T:System.IDisposable"/> instance that will revoke the impersonation of this SecurityContext
  32336. </returns>
  32337. <remarks>
  32338. <para>
  32339. Depending on the <see cref="P:log4net.Util.WindowsSecurityContext.Credentials"/> property either
  32340. impersonate a user using credentials supplied or revert
  32341. to the process credentials.
  32342. </para>
  32343. </remarks>
  32344. </member>
  32345. <member name="M:log4net.Util.WindowsSecurityContext.LogonUser(System.String,System.String,System.String)">
  32346. <summary>
  32347. Create a <see cref="T:System.Security.Principal.WindowsIdentity"/> given the userName, domainName and password.
  32348. </summary>
  32349. <param name="userName">the user name</param>
  32350. <param name="domainName">the domain name</param>
  32351. <param name="password">the password</param>
  32352. <returns>the <see cref="T:System.Security.Principal.WindowsIdentity"/> for the account specified</returns>
  32353. <remarks>
  32354. <para>
  32355. Uses the Windows API call LogonUser to get a principal token for the account. This
  32356. token is used to initialize the WindowsIdentity.
  32357. </para>
  32358. </remarks>
  32359. </member>
  32360. <member name="T:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext">
  32361. <summary>
  32362. Adds <see cref="T:System.IDisposable"/> to <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
  32363. </summary>
  32364. <remarks>
  32365. <para>
  32366. Helper class to expose the <see cref="T:System.Security.Principal.WindowsImpersonationContext"/>
  32367. through the <see cref="T:System.IDisposable"/> interface.
  32368. </para>
  32369. </remarks>
  32370. </member>
  32371. <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.#ctor(System.Security.Principal.WindowsImpersonationContext)">
  32372. <summary>
  32373. Constructor
  32374. </summary>
  32375. <param name="impersonationContext">the impersonation context being wrapped</param>
  32376. <remarks>
  32377. <para>
  32378. Constructor
  32379. </para>
  32380. </remarks>
  32381. </member>
  32382. <member name="M:log4net.Util.WindowsSecurityContext.DisposableImpersonationContext.Dispose">
  32383. <summary>
  32384. Revert the impersonation
  32385. </summary>
  32386. <remarks>
  32387. <para>
  32388. Revert the impersonation
  32389. </para>
  32390. </remarks>
  32391. </member>
  32392. </members>
  32393. </doc>