Skip to main content
1-Visitor
July 8, 2016
Solved

Logging with the .NET sdk?

  • July 8, 2016
  • 3 replies
  • 4344 views

I'm trying to figure out how to log using the .NET SDK so far the only decent reference I came across is this link below:

.NET SDK Logging Configuration

However when I add this information to the App.config file (part of the file in the link above) I get several different exceptions. If I remove these then it'll compile but then there is no Log file/directory created. (If it is I can't find it anywhere)

<source name="com.thingworx.communications.client.TwApiWrapper" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.ConnectedThingClient" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.things.VirtualThing" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

Hope someone can help!

Best answer by jbennett1

Hi guys,

Thanks for your replies, I've managed to figure out the correct App.Configuration code:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <system.diagnostics>

    <sources>

  <source name="com.thingworx.common.utils.JSONUtilities" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.TwApiWrapper" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.BaseClient" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.ConnectedThingClient" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.things.contentloader.ContentLoaderVirtualThing" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.things.filetransfer.FileTransferVirtualThing" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.things.VirtualThing" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.metadata.annotations.MetadataAnnotationParser" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

</sources>

<switches>

  <add name="SourceSwitch" value="Verbose" />

  </switches>

  <sharedListeners>

    <add name="file" type="com.thingworx.common.logging.FixedFieldTraceListener, thingworx-dotnet-common, Version=5.6.1.1100, Culture=neutral"/>

  </sharedListeners>

  <trace autoflush="true" indentsize="4" />

</system.diagnostics>

</configuration>

Not sure why it didn't like the last line PublicKeyToken=null" initializeData="false" ​but all is working now.

Hopefully this is useful to someone else.

John

3 replies

5-Regular Member
July 8, 2016

Hello,

What are the exceptions that you are seeing when you add the configuration given in that Community post?

Thanks!

Tori

jbennett11-VisitorAuthor
1-Visitor
July 11, 2016

Hi Tori,

Hope all is well!, this is first point it breaks!

h1.PNG

Kind regards

John

1-Visitor
July 11, 2016

Hi John, if you cannot connect the .NET SDK to the ThingWorx platform you can disable encryption as explained on the .NET SDK Developers Guide (page 20).

client.DisableEncryption(); // replace this line from .NET Dev Guide with one of the below lines.


BaseClient.disableEncryption(); // OR

ConnectedThingClient.disableEncryption();

Let me know if this helps.

5-Regular Member
July 13, 2016

John,

If you use the entire app.config file provided in the example you linked in your original post do you still see the same errors?

Meghan

jbennett11-VisitorAuthorAnswer
1-Visitor
July 13, 2016

Hi guys,

Thanks for your replies, I've managed to figure out the correct App.Configuration code:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <system.diagnostics>

    <sources>

  <source name="com.thingworx.common.utils.JSONUtilities" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.TwApiWrapper" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.BaseClient" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.ConnectedThingClient" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.things.contentloader.ContentLoaderVirtualThing" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.things.filetransfer.FileTransferVirtualThing" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.communications.client.things.VirtualThing" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

        <source name="com.thingworx.metadata.annotations.MetadataAnnotationParser" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >

          <listeners>

            <add name="file" />

          </listeners>

        </source>

</sources>

<switches>

  <add name="SourceSwitch" value="Verbose" />

  </switches>

  <sharedListeners>

    <add name="file" type="com.thingworx.common.logging.FixedFieldTraceListener, thingworx-dotnet-common, Version=5.6.1.1100, Culture=neutral"/>

  </sharedListeners>

  <trace autoflush="true" indentsize="4" />

</system.diagnostics>

</configuration>

Not sure why it didn't like the last line PublicKeyToken=null" initializeData="false" ​but all is working now.

Hopefully this is useful to someone else.

John