Help using Oracle Diagnostic Logging (LoggingContext)

Hi,
We are developing a new Product from scratch and have decided to use as much as we can from Oracle Libraries. Currently we are using Oracle Diagnostic Logging (ODL) for logging in our application, having a wrapper on top of it, which will make our product as well in-line with other oracle product logging.
We have requirements to log based on LoggingContext as in Log4j's Mapped/Nested Diagnostic Context. I believe we can do the same using oracle.core.ojdl.logging.context.LoggingContext but can't find more information on how to use it.
Can anybody provide examples or links to learn, understand and implement using LoggingContext in ODL?

ODL generates log files in XML format only. Using ODL you can not have plain text format log files. You have to decide what is more desired - log rotation (that ODL provides) or text format (which is the default, non-ODL, format). If text format is more desired than don't enable ODL and write your own shell script to rotate application log (but that can only be done while OC4J is down).
At the same time if you are concern about readability of log file (i.e. text format is easier to read vs. xml format) than you might consider using one the log viewer tool (log viewer in EM or printlogs command line) provided by Oracle. Both of these tools help you view the logs in much more readable format than just looking at xml format log file.
(printlogs utility is under $OH/diagnostic/bin directory. Run "printlogs -help" to read about it).
Hope this helps.
Thanks
Shail

Similar Messages

  • Can I generate .txt / .log file from Oracle Diagnostic Logging?

    Hi all,
    on my application I need to limit the size of application log, I've read this [http://download.oracle.com/docs/cd/B25221_04/web.1013/b14432/logadmin.htm#CHDJHHHB|http://download.oracle.com/docs/cd/B25221_04/web.1013/b14432/logadmin.htm#CHDJHHHB] that using ODL, but generated file is .xml, but I need .log / .txt file. How can I do this??
    thanks in advance.
    Regards,
    Kahlil

    ODL generates log files in XML format only. Using ODL you can not have plain text format log files. You have to decide what is more desired - log rotation (that ODL provides) or text format (which is the default, non-ODL, format). If text format is more desired than don't enable ODL and write your own shell script to rotate application log (but that can only be done while OC4J is down).
    At the same time if you are concern about readability of log file (i.e. text format is easier to read vs. xml format) than you might consider using one the log viewer tool (log viewer in EM or printlogs command line) provided by Oracle. Both of these tools help you view the logs in much more readable format than just looking at xml format log file.
    (printlogs utility is under $OH/diagnostic/bin directory. Run "printlogs -help" to read about it).
    Hope this helps.
    Thanks
    Shail

  • Help Using Oracle (In General)

    I am new to Linux and Oracle, so please bear with me.
    I finally was able to install Oracle 11g on my CentOS computer. (This took a long time...I'm a slow learner).
    Now I'm trying to create an database or just trying to USE Oracle. Where and how do I create an new database?
    I searched around this forum and saw that you should use the command "dbca" to create a database.
    If this is true, I have several questions:
    1. Where do I type this command (on root or on oracle user)?
    2. Do I need to be in a specific directory?
    3. How exactly do I use the command "dbca"?
    I appreciate any help I can get. But please I need step by step solutions; providing me with a link to an Oracle documentation guide hasn't helped me.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/create.htm#g1034097 <--This guide is very confusing and not clear in it's directions.
    Or maybe, does anyone know of an Oracle Tutorial for Dummies? This would help too. ;-)
    Thanks again.
    Note: Remember, I am new to Linux AND Oracle. Thank you!

    Reading installation documentation and following it always makes things work better.
    1. The docs are at http://tahiti.oracle.com
    2. Use a supported operating system (free) such as Oracle Enterprise Linux (download at http://otn.oracle.com)
    3. If you find you are confused by some aspects of the docs there are many of us that have posted examples on the web.
    Mine are at http://morganslibrary.org/library.html under "Linux" with different demos for the most recent 3 versions.

  • Help using oracle syntax "SUM(col1) over (order by col2)" using ODI

    Hi all
    I want to load data from oracle to ESSBASE using ODI, and I know oracle have such syntax sum(col1) over (order by col2,col3) which can get the accumulation data, e.g
    Oracle data table
    col1, col2, value
    A 2009-1 10
    A 2009-2 10
    A 2009-3 10
    And the essbase need
    col1 col2 value
    A 2009-1 10
    A 2009-2 20
    A 2009-3 30
    However after i try this in ODI, error occur:
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (innermost last):
    File "<string>", line 32, in ?
    java.sql.SQLException: ORA-00979: not a GROUP BY expression
    and the original generated SQl by ODI :
    select 'HSP_InputValue' "HSP_Rates",MAP_KMDZ_TABLE.BUD_DYKM "Account",MAP_MONTH.ESS_MONTH "Period",MAP_YEAR.ESS_YEAR "Year",'Actual' "Scenario",'Draft' "Version",TEMP_LIRUN.CURRENCY "Currency",MAP_COMPANYCODE.ESS_COMPCODE "Entity",substr(MAP_KMDZ_TABLE.BUD_BUSINESSOBJECT,1,80) "BusinessObject",'Route_NoRoute' "Route",MAP_TRANSPORT.ESS_TRANSPORT "Transport",substr(MAP_KMDZ_TABLE.BUD_BUSINESSACTIVITY,1,80) "BusinessActivity",substr(MAP_KMDZ_TABLE.BUD_CHANNEL,1,80) "Source",'NoCounterparty' "Counterparty",sum(TEMP_LIRUN.DATAVALUE) over (order by MAP_KMDZ_TABLE.BUD_DYKM,MAP_YEAR.ESS_YEAR,MAP_MONTH.ESS_MONTH,TEMP_LIRUN.CURRENCY,MAP_COMPANYCODE.ESS_COMPCODE,MAP_TRANSPORT.ESS_TRANSPORT,MAP_KMDZ_TABLE.BUD_BUSINESSACTIVITY,MAP_KMDZ_TABLE.BUD_BUSINESSOBJECT,MAP_KMDZ_TABLE.BUD_CHANNEL) "Data" from ETL_DEV.TEMP_LIRUN TEMP_LIRUN, ETL_DEV.MAP_KMDZ_TABLE MAP_KMDZ_TABLE, ETL_DEV.MAP_MONTH MAP_MONTH, ETL_DEV.MAP_YEAR MAP_YEAR, ETL_DEV.MAP_COMPANYCODE MAP_COMPANYCODE, ETL_DEV.MAP_TRANSPORT MAP_TRANSPORT where      (1=1) And (TEMP_LIRUN.COSTELMNT=MAP_KMDZ_TABLE.SAP_ZZKM)
    AND (TEMP_LIRUN.FISCYEAR=MAP_YEAR.SAP_YEAR)
    AND (TEMP_LIRUN.FISCPER3=MAP_MONTH.SAP_MONTH)
    AND (TEMP_LIRUN.COMP_CODE=MAP_COMPANYCODE.SAP_COMPCODE)
    AND (TEMP_LIRUN.WWHC=MAP_TRANSPORT.SAP_WWHC) Group By MAP_KMDZ_TABLE.BUD_DYKM,
    MAP_MONTH.ESS_MONTH,
    MAP_YEAR.ESS_YEAR,
    TEMP_LIRUN.CURRENCY,
    MAP_COMPANYCODE.ESS_COMPCODE,
    substr(MAP_KMDZ_TABLE.BUD_BUSINESSOBJECT,1,80),
    MAP_TRANSPORT.ESS_TRANSPORT,
    substr(MAP_KMDZ_TABLE.BUD_BUSINESSACTIVITY,1,80),
    substr(MAP_KMDZ_TABLE.BUD_CHANNEL,1,80)
    I know ODI think sum.. over must append group by , however it's not! How to solve this problem.
    Thank All for your attention
    SOS!
    Ethan

    Hi Ethan,
    In my exeprnc I faced a similar kind of situation.
    Two work arounds.
    1. Write one procedure and execute the same using ODI procedure.
    2. Customize a Km and use that KM in your interface.
    I guess in your query Group by function is not needed. (if this is the case you can achive this by a smple customization step in KM)
    for example : your current KM will generate a query like this:-
    select x,y, sum(x) over (order by y) as sumx FROM TestTable group by x, y
    and you need a query like this
    select x,y, sum(x) over (order by y) as sumx FROM TestTable
    go to your KM (duplicate the KM which you are using and rename _withoutGroup )
    remove the group by function from select query
    (remove the API function <%=snpRef.getGrpBy()%> from insert into i$ table step)
    please let me know if you need more help on this
    regards,
    Rathish

  • Help using Oracle BI Standard Edition One

    Hi,
    I have installed Oracle BI Standard Edition One on a Windows Server 2003.
    My aim is to connect to the production database and create reports, graphs etc.
    Could you please let me know the steps required?
    Thanks & Regards,
    Shailaja

    Check documentation at http://download.oracle.com/docs/cd/E10352_01/doc/nav/portal_1.htm
    Business Intelligence Standard Edition One Tutorial

  • Need help on Using Oracle Acces Manager 11g

    Hi
    I Need help on Using Oracle Acces Manager Admin console to configure for SSO.
    I am new to Identity Management
    I have installed OAM 11g and configured for OAM in new weblogic domain
    Please help to proceed forward.
    Thanks
    Swapnil

    Hi
    Thanks for your reply
    I am able to login to the console
    I am unable to login the the weblogic server from another machine but abl eto do so from the machine where all this is installed
    What i feel is there needs to be some configurataion maybe policy or Agent
    IDMDomainAgent is configured and so is the OAM server configured .
    Please advice some books or link how to do achieve logging into the weblogic em/console from a remote machine
    Thanks in Advance

  • Help needed in using oracle rules SDK

    Hi,
    For testing my rulesets using oracle rules SDK I doing the following:
    1. Creation of dictionary, ruleSet.
    2. Declared two kinds of globalVariable variables in my datamodel :
    Final and non-Final.(Type of these varaibles are String and Double only)
    3. Final globalVaraibles are used in creating rule's patterns.
    4. Non-Final globalVariables are used in creating rule's action.
    5. Functions are created for asserting globalVariables values and
    returning non-final varaibles, since those are required as action
    results.
    6. In java code I am testing my ruleset (dict.testRuleSet()). Before
    testing i am populating my final global variables (since these are used
    in rule's patterns),
    and updating datamodel.
    The above procedure is working fine and I rules are successfully working.
    Now, first of all i want to know if the above mentioned approach is correct or it needs to be reframed??
    secondly, when i update datamodel with values (in java code itself) it
    takes 4-5 seconds in updating it. This is the main issue that why it is
    taking this much time??
    any comment would be of great help.
    Thanks in advance.

    I will send up an alert for you, Colin. Even though I use iTunes for Mac, troubleshooting it isn't my forté.

  • Looking for some help with using Oracle stored procedures in vb2010

    First off thank you to whoever lends me a hand with my problem. A little background first I am in a software development class and we are currently building our program using VB (I have no experience in this), and Oracle(currently in a Oracle class so I know how to use Oracle itself just not with VB).
    I am using vb2010 express edition if that helps. Currently I have a stored procedure that takes a 4char "ID" that returns a position (ie, salesperson,manager ect). I want to use the position returned to determine what vb form is displayed (this is acting as a login as you dont want a salesperson accessing the accountants page for payroll ect).
    Here is the code I have currently on the login page of my VB form
    Imports Oracle.DataAccess.Client
    Imports Oracle.DataAccess.Types
    Public Class Login
    Dim conn As New OracleConnection
    Private Sub empID_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles empID.Click
    End Sub
    Private Sub LoginBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoginBtn.Click
    conn.ConnectionString = "User ID = Auto" & _
    ";Password = ********" & _
    ";Data Source = XE"
    conn.Open()
    Dim sq1 As String = "Return_Position" 'name of procedure
    Dim cmd As New OracleCommand(sq1, conn)
    cmd.CommandType = CommandType.StoredProcedure
    cmd.Parameters.Add(New OracleParameter("I_EmpID", OracleDbType.Char, 4)).Value = Emp_ID.Text
    Dim dataReader As OracleDataReader = cmd.ExecuteReader
    dataReader.Read()
    Dim position As New ListBox
    position.Items.Add(dataReader.GetString(0)) 'were I am getting an error, I also tried using the dataReader.getstring(0) to store its value in a string but its a no go
    If position.FindStringExact("MANAGER") = "MANAGER" Then
    Me.Hide()
    Dim CallMenu As New Menu()
    CallMenu.ShowDialog()
    End If
    LoginBtn.Enabled = False
    End Sub
    I have read the oracle.net developer guide for using oracle in vb2010 and have successfully gotten through the document however they never use a stored procedure, since the teacher wants this program to user a layered architecture I cannot directly store sql queries like the document does, thus the reason I want to use stored procedures.
    This is getting frustrating getting stuck with this having no background in VB, I could easily do this in c++ using file i/o even through it would be a pain in the rear....

    Hello,
    I am calling Oracle 11g stored procedures from VB.Net 2010. Here is a code sample (based on your code) you should be able to successfully implement in your application.
    Please note that you may have to modify your stored procedure to include an OUT parameter (the employee position) if it doesn't have it yet.
    Private Sub LoginBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoginBtn.Click
    Dim sProcedureName As String = "Return_Position" 'name of stored procedure
    Dim ORConn as OracleConnection, sConn as String
    Dim sPosition as String, sDataSource as String, sSchema as String, sPWD as String
    Dim cmd As OracleCommand
    'please provide below sDataSource, sSchema and sPWD in order to connect to your Oracle DB
    sConn = "Data Source=" & sDataSource & ";User Id=" & sSchema & ";Password=" & sPWD & ";"
    ORConn = New OracleConnection(sConn)
    ORConn.Open()
    cmd = New OracleCommand(sProcedureName, ORConn)
    With cmd
    .CommandType = Data.CommandType.StoredProcedure
    'input parameter in your stored procedure is EmpId
    .Parameters.Add("EmpID", OracleDbType.Varchar2).Value = Emp_ID.Text
    .Parameters.Item("EmpID").Direction = ParameterDirection.Input
    'output parameter in your stored procedure is Emp_Position
    .Parameters.Add("Emp_Position", OracleDbType.Varchar2).Direction = ParameterDirection.Output
    .Parameters.Item("Emp_Position").Size = 50 'max number of characters for employee position
    Try
    .ExecuteNonQuery()
    Catch ex As Exception
    MsgBox(ex.Message)
    Exit sub
    End Try
    End With
    sPosition = cmd.Parameters.Item("Emp_Position").Value.ToString
    'close Oracle command
    If Not Cmd Is Nothing Then Cmd.Dispose()
    Cmd = Nothing
    'close Oracle connection
    If Not ORConn Is Nothing Then
    If not ORConn.State = 0 Then
    ORConn.Close()
    End If
    ORConn.Dispose()
    End If
    ORConn = Nothing
    If UCase(sPosition) = "MANAGER" Then
    Me.Hide()
    Dim CallMenu As New Menu()
    CallMenu.ShowDialog()
    End If
    LoginBtn.Enabled = False
    End Sub
    If you need further assistance with the code, please let me know.
    Regards,
    M. R.

  • Help In XML schema using  oracle 10g

    i want to give seminar in XML schema using oracle 10g. n i m very new in this topic. so help me out which topic i include & any document regarding this

    XML Schema has various aspects.
    1. Creating an XML Schema, which may be done in JDeveloper.
    2. Initializing an XML document from an XML Schema, which may also be done in JDeveloper.
    For creating and initializing an XML Schema please refer
    http://www.regdeveloper.co.uk/2007/10/01/build_xml_schema_jdeveloper/
    3. Validating an XML document with an XML Schema.
    http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html

  • How to use oracle thin driver?...pls help

    Hello. I am trying to insert a word file into my Oracle 9i database using JSP. I have tomcat running as my standalone server. So far, i have been using the sun.jdbc.odbc driver to implement all my DB accesses. Recently however, i found out that in order to use Oracle specific objects such as BLOBS or BFILES, i have to use the oracle thin driver or OCI driver.
    So far, i have downloaded the thin driver and put it into the tomcat shared/common folder and also put the .jar file into my classpath. Now, i am having trouble as to how to call the oracle thin driver inside my JSP code.
    My previous code read as:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:Andy","user","pass");
    How do i switch over to the oracle thin driver in JSP? Any help would be much appreciated. Thank you
    Andrew

    Class.forName ("oracle.jdbc.driver.OracleDriver");
    Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@hostname:port:SSID", "user", "password");

  • How to use oracle thin driver with jsp?...pls help

    Hello. I am trying to insert a word file into my Oracle 9i database using JSP. I have tomcat running as my standalone server. So far, i have been using the sun.jdbc.odbc driver to implement all my DB accesses. Recently however, i found out that in order to use Oracle specific objects such as BLOBS or BFILES, i have to use the oracle thin driver or OCI driver.
    So far, i have downloaded the thin driver and put it into the tomcat shared/common folder and also put the .jar file into my classpath. Now, i am having trouble as to how to call the oracle thin driver inside my JSP code.
    My previous code read as:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:Andy","user","pass");
    How do i switch over to the oracle thin driver in JSP? Any help would be much appreciated. Thank you
    Andrew

    my code is:
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    conn = DriverManager.getConnection(sConnStr, sUser, sPassword);
    notice the driver --"oracle.jdbc.driver.OracleDriver"!
    and copy the class12.zip to lib path
    if still not work
    change the class12.zip to class12.jar
    good luck

  • Using Oracle 11g How to change the Log mode from NoArchieve to Archieve Log

    Hi,
    I currently using oracle 11g How can I change database from NoArchivelog node to Archivelog node using spfile.
    And where exactly the spfile will be located?
    My instance is EPM11 in my local oracle is present in D folder where can i found the pfile?
    In this path i found 1 pfile in my Local Machine
    "D:/Oracle/Product/11g/admin/epm11/pfile" .I have added the following commands in this pfile
    # Archive Log Destinations -benr(10/15/04)
    log_archive_dest_1='location=/u02/oradata/cuddle/archive'
    log_archive_start=TRUE
    Then i have ran the shutdown command.
    Database instance is showtdown.
    After that i am not able to perform startup.
    So please suggest me how to change the mode using SPfile and tell me the path where spfile and pfile should be located?
    And also do i need to set the "Oracle_Home" path in my environment variables"
    Thanks In Advance,
    Chandana

    user11225122 wrote:
    Hi,
    I currently using oracle 11g How can I change database from NoArchivelog node to Archivelog node using spfile.
    And where exactly the spfile will be located?
    My instance is EPM11 in my local oracle is present in D folder where can i found the pfile?
    In this path i found 1 pfile in my Local Machine
    "D:/Oracle/Product/11g/admin/epm11/pfile" .I have added the following commands in this pfile
    # Archive Log Destinations -benr(10/15/04)
    log_archive_dest_1='location=/u02/oradata/cuddle/archive'
    log_archive_start=TRUE
    Then i have ran the shutdown command.
    Database instance is showtdown.
    After that i am not able to perform startup.
    So please suggest me how to change the mode using SPfile and tell me the path where spfile and pfile should be located?
    And also do i need to set the "Oracle_Home" path in my environment variables"
    Thanks In Advance,
    Chandanaremove log_archive_start=TRUE from pfile (it is depricated from 10g onwards)
    SQL>startup nomount pfile="D:/Oracle/Product/11g/admin/epm11/pfile/initYOUR_SID_NAME.ora"
    SQL>Create spfile from pfile="D:/Oracle/Product/11g/admin/epm11/pfile/initYOUR_SID_NAME.ora"
    SQL>SHUT IMMEDIATE;
    SQL>STARTUP MOUNT
    SQL>ALTER DATABASE ARCHIVELOG;
    SQL>ALTER DATABASE OPEN;
    SQL>ARCHIVE LOG LIST;
    SQL>SHOW PARAMATER SPFILE;
    YOU WILL FIND THE LOCATION OF SPFILE
    SQL>

  • Could you some one help me how to send a message on twitter using Oracle SOA?

    Hi Team,
              I am trying to send a message from Oracle SOA to Twitter, But i am not able to do the scenario.Could you some one help me how to send a message on twitter using Oracle SOA?
    Regards,
    Kiran

    Very challenging and doubtful at the same time !
    I don't think, its going to be a straight-forward one... Read about OAuth twitter authentication, before you try to post tweets.

  • Helpful Tip on Using Debugger BreakPoint Logs

    I've started using the xCode BreakPoint Logging and other BreakPoint features. Unfortunately, it became difficult to align the consule messages with the locations in the code.
    I resolved the issue by setting the xCode preference for 'show line numbers' combined with getting into the habit of entering the line number at the beginning of the log statement.

    The introduction I read to the use of BreakPoints was called an 'intermediate' tutorial. I don't think that's the right word.
    There appears to be two distinct learning and/or creative approaches. One, which I would call 'British', invests heavily in pre-planning and thought, and therefore treats the actual appearance of changes with an almost holy reverance.
    The other style, which I would say is more American, is to free-up the creative process by treating the appearance of changes and ability to change with an almost brutal disregard for what has been done in the past, even with respect to one's own work.
    Neither style would be hurt, and both would benefit, from the addition of an optional 'lock' preventing the deletion of the PointBreaks when code is moved as well as an optional 'auto line number' placed into the PointBreak log text box ahead of the cursor.
    But for now, thank you for the NSLog function, which will be a great help when put into the PointBreak command line along with the log text option. And I am definitely keeping a 'test' project available where I strictly use typed-in log statements for more robust exploratory learning and creativity.

  • Revelation: Why my diagnostic logging was not working using log4net TraceAppender

    I thought I better share with people some information that I found which has shed some light on why I've had such a hard time getting native Azure diagnostic logging working.  Hopefully, if I hit enough key words here, someone will find this discussion
    in the future and may save you some time and heart ache.
    Our application is a legacy ASP.Net application which I am porting to Azure.  The application makes extensive use of log4net and I decided that I would use the log4net TraceAppender to forward the logs to the Azure diagnostic listener.  Within
    my worker role, I was configuring my azure logs like so:
    private static void ConfigureLogging() {
    CrashDumps.EnableCollection(true);
    var diagConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
    var directories = diagConfig.Directories;
    var infrastructureDiagnostics = diagConfig.DiagnosticInfrastructureLogs;
    var applicationLogs = diagConfig.Logs;
    var eventLogs = diagConfig.WindowsEventLog;
    SetTransferPeriod(applicationLogs, 1);
    SetTransferPeriod(directories, 1);
    SetTransferPeriod(infrastructureDiagnostics, 1);
    SetTransferPeriod(eventLogs, 1);
    SetFilterLevel(applicationLogs, LogLevel.Information);
    SetFilterLevel(eventLogs, LogLevel.Information);
    SetFilterLevel(infrastructureDiagnostics, LogLevel.Warning);
    DiagnosticMonitor.Start("DiagnosticsConnectionString", diagConfig);
    Log4NetHelper.ConfigureLog4Net();
    private static void SetFilterLevel(WindowsEventLogsBufferConfiguration eventLogs, LogLevel logLevel)
    eventLogs.DataSources.Add( "Application!*" );
    eventLogs.DataSources.Add( "System!*" );
    eventLogs.ScheduledTransferLogLevelFilter = logLevel;
    private static void SetFilterLevel(BasicLogsBufferConfiguration infrastructureDiagnostics, LogLevel logLevel)
    infrastructureDiagnostics.ScheduledTransferLogLevelFilter = logLevel;
    private static void SetTransferPeriod(DiagnosticDataBufferConfiguration directories, int minutes)
    var period = TimeSpan.FromMinutes(minutes);
    directories.ScheduledTransferPeriod = period;
    Log4NetHelper.Configure uses the log4net programattic API to setup and configure a TraceAppender that captured all LogLevels (DEBUG or higher).  I also made sure that the follwing appeared in my Web.Config
    <system.diagnostics>
    <trace autoflush="false" indentsize="4">
    <listeners>
    <clear />
    <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
    <filter type="" />
    </add>
    </listeners>
    </trace>
    </system.diagnostics>
    However, this never worked.  I saw a number of forum posts that suggested that the Azure filter level should be "Undefined" - namely that I should replace
    SetFilterLevel(applicationLogs, LogLevel.Information);
    with
    SetFilterLevel(applicationLogs, LogLevel.Undefined);
    I had set my filter level to Information, cos our app does so much Debug level logging, that I thought I'd save money in storage by really only capturing the INFO or higher messages.  But in the interest of getting the blasted thing to work, I set to
    Undefined, and sure enough all the log message from all levels came through. Setting back to Information and NO messages come though.
    I then noticed that when my logging was working (filter = Undefined) that ALL my log messages were in fact being logged at the Verbose level - even log4net calls to log.Error/log.Warn (exceptions messages being logged at Verbose is not a good sign!)
    You have to realize, that my thought process was not structured at this point as I had no idea what was going on.  Until I found this article:
    http://www.dotnetsolutions.co.uk/blog/archive/2010/02/22/windows-azure-diagnostics-%E2%80%93-why-the-trace-writeline-method-only-sends-verbose-messages/
    While not related to log4net, it was an eye opener, and I used reflector to look at the TraceAppender, and I see they are using Trace.Write to write messages.  
    In my mind, this explains why I was seeing the behaviour I was seeing:  AzureDiagnostic listener is converting all Trace.Write messags to Verbose (details in the above article) and log4net TraceAppender is converting all log messages to Trace.Write
    messages.  Setting the filter to Information was thus stripping all the calls.
    My solution is to inherit TraceAppender and change their impl of Append to use a switch on the LogLevel:
    using System.Diagnostics;
    using log4net.Appender;
    using log4net.Core;
    namespace XXX.Azure
    public class AzureTraceAppender : TraceAppender
    protected override void Append(LoggingEvent loggingEvent)
    var level = loggingEvent.Level;
    var message = RenderLoggingEvent(loggingEvent);
    if (level >= Level.Error)
    Trace.TraceError(message);
    else if (level >= Level.Warn)
    Trace.TraceWarning(message);
    else if (level >= Level.Info)
    Trace.TraceInformation(message);
    else
    Trace.Write(message);
    if (ImmediateFlush)
    Trace.Flush();
    With log4net configured to use this appender, then log messages appearing in the WADLogsTable are all appearing at the correct (or nearest appropriate) level
    YMMV
    Pete

    Thanks, that's extremely useful!
    Using your appender, Verbose level messages still were not shown though. What did the trick was changing
    Trace.Write(message);
    to
    Trace.WriteLine(message);

Maybe you are looking for