-
Notifications
You must be signed in to change notification settings - Fork 233
VB -> C#: Non-compiling using directives removed #529
Copy link
Copy link
Closed
Labels
VB -> C#Specific to VB -> C# conversionSpecific to VB -> C# conversion
Description
Consolidated as a known limitation
Input code
Imports System.Collections.Specialized
Imports System.Configuration
Imports System.Net.Http
Imports System.Web
Imports DTS.Logging.MongoDB
Imports DTS.Logging.MongoDB.Configuration
Imports Serilog
''' <summary>
'''
''' </summary>
''' <remarks></remarks>
Public Class LoggingDebugging
Public Shared EnabledLogTypes As NameValueCollection = Util.GetConfigSection("Logging")
Public Shared EnabledLogs As NameValueCollection = Util.GetConfigSection("enabledLogs")
'Private Shared sempaphore As Object = New Object()
''' <summary>
''' Proxy method to set the LogInstance properties and add LogInstance class to LogBuffer
''' </summary>
''' <param name="logType"></param>
''' <param name="message"></param>
''' <param name="traceKey"></param>
''' <param name="user"></param>
''' <param name="TS"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function Log(ByVal logType As String, ByVal message As String, Optional ByVal traceKey As Long = Nothing, Optional ByVal user As String = Nothing, Optional ByVal TS As Long = Nothing) As Long
Dim LogTS As Long
If IsNothing(traceKey) Or traceKey = 0 Then
Throw New ETDMSException(Util.t("traceKey must not be null. Please modify your method to either create a new " +
"traceKey if it is the start of a request, or use an existing traceKey if it is " +
"part of a request."))
End If
If LoggingDebugging.EnabledLogTypes(logType) = "True" Then
Dim loginstance As New LogInstance(m_logType:=logType, m_message:=message, m_user:=user, m_TS:=TS)
LogTS = LogAggregator.AddLogInstance(loginstance, traceKey)
Else
'If logType = "query" Then
' Dim LogEntry As New LogInstance(m_logType:=logType, m_message:=message, m_user:=user, m_TS:=TS)
' LogTS = LoggingDebugging.AddLogBuffer(Props:=LogEntry, traceKey:=traceKey)
'End If
LogTS = Now.Ticks()
End If
Return LogTS
End Function
''' <summary>
''' Fluh out from Logbuffer
''' </summary>
''' <param name="userPin"></param>
''' <param name="traceKey"></param>
''' <remarks></remarks>
Public Overloads Shared Sub FlushLog(ByVal userPin As String,
Optional ByVal traceKey As String = Nothing,
Optional ByRef esTime As String = Nothing,
Optional ByRef request As HttpRequest = Nothing,
Optional ByRef message As HttpRequestMessage = Nothing)
Dim logitem As LogItem = Nothing
LogAggregator.TryGet(userPin, logitem, traceKey, esTime, request, message)
End Sub
''' <summary>
''' Converts ticks to Date and Time
''' </summary>
''' <param name="ticks"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function convertTickstoDateTime(ByVal ticks As Long) As String
Dim dt As New DateTime(ticks)
Return Format(dt, "MM/dd/yyy hh:mm:ss.fffffff")
End Function
''' <summary>
''' Converts ticks to time
''' </summary>
''' <param name="ticks"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function convertTickstoTime(ByVal ticks As Long) As String
Dim timespan As New TimeSpan(ticks)
Return String.Format("{0}:{1}:{2}:{3}",
timespan.Hours.ToString("D2"), timespan.Minutes.ToString("D2"),
timespan.Seconds.ToString("D2"), timespan.Milliseconds.ToString("D3"))
End Function
''' <summary>
''' Converts ticks to Date and Time with 24 hrs
''' </summary>
''' <param name="ticks"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Shared Function convertTickstoLongDateTime(ByVal ticks As Long) As String
Dim dt As New DateTime(ticks)
Return dt.ToString()
End Function
''' <summary>
''' Reads configuration values for serilog
''' </summary>
Public Shared Sub Configure()
'Serilog.Log.Logger = New Serilog.LoggerConfiguration().ReadFrom.AppSettings().CreateLogger()
Dim settings As StructuredMongoDBSettings = ConfigurationManager.AppSettings.MongoDBSettings()
Serilog.Log.Logger = New Serilog.LoggerConfiguration() _
.ReadFrom.AppSettings() _
.Enrich.WithProperty("Application", "user-service-dev") _
.Enrich.WithProperty("Stage", "local") _
.WriteTo.StructuredMongoDB(settings) _
.CreateLogger()
Serilog.Log.Information("logger initialized")
End Sub
End ClassErroneous output
using System;
using System.Net.Http;
using DTS.Logging.MongoDB;
using DTS.Logging.MongoDB.Configuration;
using Microsoft.VisualBasic;
using Serilog;
/// <summary>
///
/// </summary>
/// <remarks></remarks>
public partial class LoggingDebugging
{
public static NameValueCollection EnabledLogTypes = Util.GetConfigSection("Logging");
public static NameValueCollection EnabledLogs = Util.GetConfigSection("enabledLogs");
// Private Shared sempaphore As Object = New Object()
/// <summary>
/// Proxy method to set the LogInstance properties and add LogInstance class to LogBuffer
/// </summary>
/// <param name="logType"></param>
/// <param name="message"></param>
/// <param name="traceKey"></param>
/// <param name="user"></param>
/// <param name="TS"></param>
/// <returns></returns>
/// <remarks></remarks>
public static long Log(string logType, string message, long traceKey = default(long), string user = null, long TS = default(long))
{
long LogTS;
if (Information.IsNothing(traceKey) | traceKey == 0)
{
throw new ETDMSException(Util.t("traceKey must not be null. Please modify your method to either create a new " + "traceKey if it is the start of a request, or use an existing traceKey if it is " + "part of a request."));
}
if (LoggingDebugging.EnabledLogTypes(logType) == "True")
{
var loginstance = new LogInstance(m_logType: logType, m_message: message, m_user: user, m_TS: TS);
LogTS = LogAggregator.AddLogInstance(loginstance, traceKey);
}
else
{
// If logType = "query" Then
// Dim LogEntry As New LogInstance(m_logType:=logType, m_message:=message, m_user:=user, m_TS:=TS)
// LogTS = LoggingDebugging.AddLogBuffer(Props:=LogEntry, traceKey:=traceKey)
// End If
LogTS = Now.Ticks();
}
return LogTS;
}
/// <summary>
/// Fluh out from Logbuffer
/// </summary>
/// <param name="userPin"></param>
/// <param name="traceKey"></param>
/// <remarks></remarks>
public static void FlushLog(string userPin, string traceKey = null, ref string esTime = null, ref HttpRequest request = null, ref HttpRequestMessage message = null)
{
LogItem logitem = null;
LogAggregator.TryGet(userPin, logitem, traceKey, esTime, request, message);
}
/// <summary>
/// Converts ticks to Date and Time
/// </summary>
/// <param name="ticks"></param>
/// <returns></returns>
/// <remarks></remarks>
public static string convertTickstoDateTime(long ticks)
{
var dt = new DateTime(ticks);
return Strings.Format(dt, "MM/dd/yyy hh:mm:ss.fffffff");
}
/// <summary>
/// Converts ticks to time
/// </summary>
/// <param name="ticks"></param>
/// <returns></returns>
/// <remarks></remarks>
public static string convertTickstoTime(long ticks)
{
var timespan = new TimeSpan(ticks);
return string.Format("{0}:{1}:{2}:{3}", timespan.Hours.ToString("D2"), timespan.Minutes.ToString("D2"), timespan.Seconds.ToString("D2"), timespan.Milliseconds.ToString("D3"));
}
/// <summary>
/// Converts ticks to Date and Time with 24 hrs
/// </summary>
/// <param name="ticks"></param>
/// <returns></returns>
/// <remarks></remarks>
public static string convertTickstoLongDateTime(long ticks)
{
var dt = new DateTime(ticks);
return dt.ToString();
}
/// <summary>
/// Reads configuration values for serilog
/// </summary>
public static void Configure()
{
// Serilog.Log.Logger = New Serilog.LoggerConfiguration().ReadFrom.AppSettings().CreateLogger()
StructuredMongoDBSettings settings = ConfigurationManager.AppSettings.MongoDBSettings();
Serilog.Log.Logger = new Serilog.LoggerConfiguration().ReadFrom.AppSettings().Enrich.WithProperty("Application", "user-service-dev").Enrich.WithProperty("Stage", "local").WriteTo.StructuredMongoDB(settings).CreateLogger();
Serilog.Log.Information("logger initialized");
}
}Expected output
using System.Collections.Specialized;
using System;
using System.Net.Http;
using DTS.Logging.MongoDB;
using DTS.Logging.MongoDB.Configuration;
using Microsoft.VisualBasic;
using Serilog;
/// <summary>
///
/// </summary>
/// <remarks></remarks>
public partial class LoggingDebugging
{
public static NameValueCollection EnabledLogTypes = Util.GetConfigSection("Logging");
public static NameValueCollection EnabledLogs = Util.GetConfigSection("enabledLogs");
// Private Shared sempaphore As Object = New Object()
/// <summary>
/// Proxy method to set the LogInstance properties and add LogInstance class to LogBuffer
/// </summary>
/// <param name="logType"></param>
/// <param name="message"></param>
/// <param name="traceKey"></param>
/// <param name="user"></param>
/// <param name="TS"></param>
/// <returns></returns>
/// <remarks></remarks>
public static long Log(string logType, string message, long traceKey = default(long), string user = null, long TS = default(long))
{
long LogTS;
if (Information.IsNothing(traceKey) | traceKey == 0)
{
throw new ETDMSException(Util.t("traceKey must not be null. Please modify your method to either create a new " + "traceKey if it is the start of a request, or use an existing traceKey if it is " + "part of a request."));
}
if (LoggingDebugging.EnabledLogTypes(logType) == "True")
{
var loginstance = new LogInstance(m_logType: logType, m_message: message, m_user: user, m_TS: TS);
LogTS = LogAggregator.AddLogInstance(loginstance, traceKey);
}
else
{
// If logType = "query" Then
// Dim LogEntry As New LogInstance(m_logType:=logType, m_message:=message, m_user:=user, m_TS:=TS)
// LogTS = LoggingDebugging.AddLogBuffer(Props:=LogEntry, traceKey:=traceKey)
// End If
LogTS = Now.Ticks();
}
return LogTS;
}
/// <summary>
/// Fluh out from Logbuffer
/// </summary>
/// <param name="userPin"></param>
/// <param name="traceKey"></param>
/// <remarks></remarks>
public static void FlushLog(string userPin, string traceKey = null, ref string esTime = null, ref HttpRequest request = null, ref HttpRequestMessage message = null)
{
LogItem logitem = null;
LogAggregator.TryGet(userPin, logitem, traceKey, esTime, request, message);
}
/// <summary>
/// Converts ticks to Date and Time
/// </summary>
/// <param name="ticks"></param>
/// <returns></returns>
/// <remarks></remarks>
public static string convertTickstoDateTime(long ticks)
{
var dt = new DateTime(ticks);
return Strings.Format(dt, "MM/dd/yyy hh:mm:ss.fffffff");
}
/// <summary>
/// Converts ticks to time
/// </summary>
/// <param name="ticks"></param>
/// <returns></returns>
/// <remarks></remarks>
public static string convertTickstoTime(long ticks)
{
var timespan = new TimeSpan(ticks);
return string.Format("{0}:{1}:{2}:{3}", timespan.Hours.ToString("D2"), timespan.Minutes.ToString("D2"), timespan.Seconds.ToString("D2"), timespan.Milliseconds.ToString("D3"));
}
/// <summary>
/// Converts ticks to Date and Time with 24 hrs
/// </summary>
/// <param name="ticks"></param>
/// <returns></returns>
/// <remarks></remarks>
public static string convertTickstoLongDateTime(long ticks)
{
var dt = new DateTime(ticks);
return dt.ToString();
}
/// <summary>
/// Reads configuration values for serilog
/// </summary>
public static void Configure()
{
// Serilog.Log.Logger = New Serilog.LoggerConfiguration().ReadFrom.AppSettings().CreateLogger()
StructuredMongoDBSettings settings = ConfigurationManager.AppSettings.MongoDBSettings();
Serilog.Log.Logger = new Serilog.LoggerConfiguration().ReadFrom.AppSettings().Enrich.WithProperty("Application", "user-service-dev").Enrich.WithProperty("Stage", "local").WriteTo.StructuredMongoDB(settings).CreateLogger();
Serilog.Log.Information("logger initialized");
}
}Details
There's code to avoid using statements being removed if they can't be found. It doesn't seem to be working here (see using System.Collections.Specialized;)
Raised here: #524 (comment)
DateTime.Now also not identified. The default references/imports may need updating
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
VB -> C#Specific to VB -> C# conversionSpecific to VB -> C# conversion