diff --git a/XenOvfApi/Compression.cs b/XenOvfApi/Compression.cs index f1325d43f..cc30bce49 100644 --- a/XenOvfApi/Compression.cs +++ b/XenOvfApi/Compression.cs @@ -31,7 +31,6 @@ using System; using System.IO; -using XenCenterLib.Archive; using XenCenterLib.Compression; using XenOvf.Definitions; using XenOvf.Utilities; @@ -40,6 +39,8 @@ namespace XenOvf { public class OvfCompressor { + private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + /// /// Set to TRUE to Cancel current Compression process. /// @@ -167,8 +168,8 @@ namespace XenOvf { if (ex is OperationCanceledException) throw; - Log.Warning("Uncompression issue: {0}", ex); - Log.Warning("Previous warning may be ok, continuing with import, failures continue then this is the issue"); + log.WarnFormat("Uncompression issue: {0}", ex); + log.Warn("Previous warning may be ok, continuing with import, failures continue then this is the issue"); } finally { @@ -202,12 +203,12 @@ namespace XenOvf { if (file.compression == null) { - Log.Info("File {0} was not marked as compressed, skipped.", file.href); + log.InfoFormat("File {0} was not marked as compressed, skipped.", file.href); continue; } if (file.compression.ToLower() != "gzip" && file.compression.ToLower() != "bzip2") { - Log.Error("Invalid compression method File: {0} Method: {1}, must be Gzip or BZip2", file.href, file.compression); + log.ErrorFormat("Invalid compression method File: {0} Method: {1}, must be Gzip or BZip2", file.href, file.compression); continue; } @@ -251,14 +252,14 @@ namespace XenOvf } catch (EndOfStreamException eose) { - Log.Error("End of Stream: {0}", eose.Message); + log.ErrorFormat("End of Stream: {0}", eose.Message); } catch (Exception ex) { if (ex is OperationCanceledException) throw; var message = string.Format(Messages.COMPRESS_FAILED, filename); - Log.Error("{0} {1}", message, ex.Message); + log.ErrorFormat("{0} {1}", message, ex.Message); throw new Exception(message, ex); } finally diff --git a/XenOvfApi/Conversions.cs b/XenOvfApi/Conversions.cs index 22a53264a..1e8c6c6d5 100644 --- a/XenOvfApi/Conversions.cs +++ b/XenOvfApi/Conversions.cs @@ -153,13 +153,13 @@ namespace XenOvf { if (Properties.Settings.Default.useGZip) { - Log.Info("OVF.ConvertOVFtoOVA GZIP compression stream inserted"); + log.Info("OVF.ConvertOVFtoOVA GZIP compression stream inserted"); FileStream fsStream = new FileStream(ovafilename + ".gz", FileMode.CreateNew, FileAccess.Write, FileShare.None); ovaStream = CompressionFactory.Writer(CompressionFactory.Type.Gz, fsStream); } else { - Log.Info("OVF.ConvertOVFtoOVA BZIP2 compression stream inserted"); + log.Info("OVF.ConvertOVFtoOVA BZIP2 compression stream inserted"); FileStream fsStream = new FileStream(ovafilename + ".bz2", FileMode.CreateNew, FileAccess.Write, FileShare.None); ovaStream = CompressionFactory.Writer(CompressionFactory.Type.Bz2, fsStream); } @@ -178,7 +178,7 @@ namespace XenOvf if (File.Exists(ovfFileName)) { - Log.Info("OVF.ConvertOVFtoOVA: added file: {0}", ovfFileName); + log.InfoFormat("OVF.ConvertOVFtoOVA: added file: {0}", ovfFileName); AddFileToArchiveWriter(tar, ovfFileName); if (cleanup) File.Delete(ovfFileName); } @@ -191,13 +191,13 @@ namespace XenOvf if (File.Exists(manifestfile)) { AddFileToArchiveWriter(tar, manifestfile); - Log.Info("OVF.ConvertOVFtoOVA: added file: {0}", manifestfile); + log.InfoFormat("OVF.ConvertOVFtoOVA: added file: {0}", manifestfile); if (cleanup) File.Delete(manifestfile); // Cannot exist with out manifest file. if (File.Exists(signaturefile)) { AddFileToArchiveWriter(tar, signaturefile); - Log.Info("OVF.ConvertOVFtoOVA: added file: {0}", signaturefile); + log.InfoFormat("OVF.ConvertOVFtoOVA: added file: {0}", signaturefile); if (cleanup) File.Delete(signaturefile); } } @@ -208,7 +208,7 @@ namespace XenOvf foreach (File_Type file in filelist) { AddFileToArchiveWriter(tar, file.href); - Log.Info("OVF.ConvertOVFtoOVA: added file: {0}", file.href); + log.InfoFormat("OVF.ConvertOVFtoOVA: added file: {0}", file.href); if (cleanup) File.Delete(file.href); } } @@ -223,7 +223,7 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("{0} {1}", Messages.CONVERSION_FAILED, ex.Message); + log.ErrorFormat("{0} {1}", Messages.CONVERSION_FAILED, ex.Message); throw new Exception(Messages.CONVERSION_FAILED, ex); } finally @@ -235,7 +235,7 @@ namespace XenOvf File.Delete(_touchFile); } } - Log.Debug("OVF.ConvertOVFtoOVA completed"); + log.Debug("OVF.ConvertOVFtoOVA completed"); } private static void AddFileToArchiveWriter(ArchiveWriter tar, string fileName) @@ -288,7 +288,7 @@ namespace XenOvf } #endregion FinalizeEnvelope(env); - Log.Debug("OVF.Create completed, {0}", ovfName); + log.DebugFormat("OVF.Create completed, {0}", ovfName); return env; } /// @@ -317,7 +317,7 @@ namespace XenOvf XenXva xenobj = Tools.DeserializeOvaXml(ovaxml); EnvelopeType env = ConvertFromXenOVA(xenobj, vhdExports, ovfFilePath, ovfName, lang); string xmlstring = Tools.Serialize(env, typeof(EnvelopeType), Tools.LoadNamespaces()); - Log.Debug("OVF.ConvertXVAtoOVF completed"); + log.Debug("OVF.ConvertXVAtoOVF completed"); return xmlstring; } /// @@ -438,7 +438,7 @@ namespace XenOvf { EnvelopeType env = ConvertFromHyperVXml(hvobj, ovfName, lang); xmlstring = Tools.Serialize(env, typeof(EnvelopeType), Tools.LoadNamespaces()); - Log.Debug("XenOvf::ConvertHyperVtoOVF completed"); + log.Debug("XenOvf::ConvertHyperVtoOVF completed"); } else { @@ -594,7 +594,7 @@ namespace XenOvf } else { - Log.Error("Could not find the details for disk, {0}", reference); + log.ErrorFormat("Could not find the details for disk, {0}", reference); } AtVDI = false; } @@ -612,7 +612,7 @@ namespace XenOvf } } FinalizeEnvelope(env); - Log.Debug("OVF.ConvertFromXenOVA completed {0}", ovfname); + log.DebugFormat("OVF.ConvertFromXenOVA completed {0}", ovfname); mappings.Clear(); return env; } @@ -673,7 +673,7 @@ namespace XenOvf } FinalizeEnvelope(env); - Log.Debug("OVF.ConvertFromXenOVAv1 completed {0}", ovfname); + log.DebugFormat("OVF.ConvertFromXenOVAv1 completed {0}", ovfname); mappings.Clear(); return env; } @@ -971,7 +971,7 @@ namespace XenOvf } FinalizeEnvelope(env); - Log.Debug("OVF.ConvertFromVPCXml completed {0}", ovfname); + log.DebugFormat("OVF.ConvertFromVPCXml completed {0}", ovfname); mappings.Clear(); return env; } @@ -1138,7 +1138,7 @@ namespace XenOvf AddOtherSystemSettingData(env, vsId, lang, "HVM_boot_params", Properties.Settings.Default.xenBootOrder, _ovfrm.GetString("XENSERVER_SPECIFIC_DESCRIPTION")); AddOtherSystemSettingData(env, vsId, lang, "platform", Properties.Settings.Default.xenPlatformSetting, _ovfrm.GetString("XENSERVER_PLATFORM_DESCRIPTION")); FinalizeEnvelope(env); - Log.Debug("OVF.ConvertFromVMXcfg completed {0}", ovfname); + log.DebugFormat("OVF.ConvertFromVMXcfg completed {0}", ovfname); mappings.Clear(); return env; } @@ -1265,7 +1265,7 @@ namespace XenOvf } } } - Log.Debug("OVF.TransformXvaOvf_VM completed {0}", vsId); + log.DebugFormat("OVF.TransformXvaOvf_VM completed {0}", vsId); } private void TransformXvaOvf_VBD(EnvelopeType env, string vsId, string lang, XenStruct vmstruct) { @@ -1374,7 +1374,7 @@ namespace XenOvf { AddCDROM(env, vsId, diskId, caption, description); } - Log.Debug("OVF.TransformXvaOvf_VBD completed {0}", vsId); + log.DebugFormat("OVF.TransformXvaOvf_VBD completed {0}", vsId); } private void TransformXvaOvf_VIF(EnvelopeType env, string vsId, string lang, XenStruct vmstruct) { @@ -1420,7 +1420,7 @@ namespace XenOvf } } AddNetwork(env, vsId, lang, vifuuid, null, mac); - Log.Debug("OVF.TransformXvaOvf_VIF completed {0}", vsId); + log.DebugFormat("OVF.TransformXvaOvf_VIF completed {0}", vsId); } private void TransformXvaOvf_Network(EnvelopeType env, string vsId, string lang, string refId, XenStruct vmstruct) { @@ -1459,7 +1459,7 @@ namespace XenOvf break; } } - Log.Debug("OVF.TransformXvaOvf_Network completed {0}", vsId); + log.DebugFormat("OVF.TransformXvaOvf_Network completed {0}", vsId); } private void TransformXvaOvf_VDI(EnvelopeType env, string vsId, string lang, string refId, DiskInfo di, XenStruct vmstruct) { @@ -1490,7 +1490,7 @@ namespace XenOvf } freespace = capacity - filesize; UpdateDisk(env, vsId, instanceId, description, vhdfilename, filesize, capacity, freespace); - Log.Debug("OVF.TransformXvaOvf_VDI completed {0}", vsId); + log.DebugFormat("OVF.TransformXvaOvf_VDI completed {0}", vsId); } private void TransformXvaOvf_SR(EnvelopeType env, string vsId, string lang, XenStruct vmstruct) { @@ -1499,7 +1499,7 @@ namespace XenOvf // even if the VM is in this SR it may not exist in the target server therefore // it is not required in the OVF. // - Log.Debug("OVF.TransformXvaOvf_SR completed {0}", vsId); + log.DebugFormat("OVF.TransformXvaOvf_SR completed {0}", vsId); } @@ -1530,11 +1530,11 @@ namespace XenOvf Win32_ComputerSystem = mgtobj; // only want one. break; } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_ComputerSystem", 1); + log.Debug("OVF.CollectionInformation Win32_ComputerSystem.1"); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call to Win32_ComputerSystem failed. Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call to Win32_ComputerSystem failed. Exception: {0}", ex.Message); } finally { @@ -1553,11 +1553,11 @@ namespace XenOvf Win32_Processor.Add(mgtobj); // only want one. break; } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_Processor", Win32_Processor.Count); + log.DebugFormat("OVF.CollectionInformation Win32_Processor.{0}", Win32_Processor.Count); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call to Win32_Processor failed. Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call to Win32_Processor failed. Exception: {0}", ex.Message); } finally { @@ -1575,11 +1575,11 @@ namespace XenOvf { Win32_CDROMDrive.Add(mgtobj); } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_CDROMDrive", Win32_CDROMDrive.Count); + log.DebugFormat("OVF.CollectionInformation Win32_CDROMDrive.{0}", Win32_CDROMDrive.Count); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call to Win32_CDROMDrive failed. Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call to Win32_CDROMDrive failed. Exception: {0}", ex.Message); } finally { @@ -1597,11 +1597,11 @@ namespace XenOvf { Win32_DiskDrive.Add(mgtobj); } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_DiskDrive", Win32_DiskDrive.Count); + log.DebugFormat("OVF.CollectionInformation Win32_DiskDrive.{0}", Win32_DiskDrive.Count); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call to Win32_CDROMDrive failed. Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call to Win32_CDROMDrive failed. Exception: {0}", ex.Message); } finally { @@ -1619,11 +1619,11 @@ namespace XenOvf { Win32_NetworkAdapter.Add(mgtobj); } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_NetworkAdapter", Win32_NetworkAdapter.Count); + log.DebugFormat("OVF.CollectionInformation Win32_NetworkAdapter.{0}", Win32_NetworkAdapter.Count); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call to Win32_NetworkAdapter failed. Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call to Win32_NetworkAdapter failed. Exception: {0}", ex.Message); } finally { @@ -1641,11 +1641,11 @@ namespace XenOvf { Win32_IDEController.Add(mgtobj); } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_IDEController", Win32_IDEController.Count); + log.DebugFormat("OVF.CollectionInformation Win32_IDEController.{0}", Win32_IDEController.Count); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call for Win32_IDEController failed. Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call for Win32_IDEController failed. Exception: {0}", ex.Message); } finally { @@ -1663,11 +1663,11 @@ namespace XenOvf { Win32_SCSIController.Add(mgtobj); } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_SCSIController", Win32_SCSIController.Count); + log.DebugFormat("OVF.CollectionInformation Win32_SCSIController.{0}", Win32_SCSIController.Count); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call for Win32_SCSIController failed. Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call for Win32_SCSIController failed. Exception: {0}", ex.Message); } finally { @@ -1685,11 +1685,11 @@ namespace XenOvf { Win32_DiskPartition.Add(mgtobj); } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_DiskPartition", Win32_DiskPartition.Count); + log.DebugFormat("OVF.CollectionInformation Win32_DiskPartition.{0}", Win32_DiskPartition.Count); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call for Win32_DiskPartition failed. Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call for Win32_DiskPartition failed. Exception: {0}", ex.Message); } finally { @@ -1707,11 +1707,11 @@ namespace XenOvf { Win32_DiskDriveToDiskPartition.Add(mgtobj); } - Log.Debug("OVF.CollectionInformation {0}.{1}", "Win32_DiskDriveToDiskPartition", Win32_DiskDriveToDiskPartition.Count); + log.DebugFormat("OVF.CollectionInformation Win32_DiskDriveToDiskPartition.{0}", Win32_DiskDriveToDiskPartition.Count); } catch (Exception ex) { - Log.Warning("OVF.CollectionInformation: call for Win32_DiskDriveToDiskPartition failed, Exception: {0}", ex.Message); + log.WarnFormat("OVF.CollectionInformation: call for Win32_DiskDriveToDiskPartition failed, Exception: {0}", ex.Message); } finally { @@ -1781,9 +1781,9 @@ namespace XenOvf description, Guid.NewGuid().ToString(), "301"); - Log.Warning("System definition not available, created defaults"); + log.Warn("System definition not available, created defaults"); } - Log.Debug("OVF.AddVssd completed"); + log.Debug("OVF.AddVssd completed"); } private void AddNetworks(EnvelopeType ovfEnv, string vsId) @@ -1880,9 +1880,9 @@ namespace XenOvf } else { - Log.Warning("No networks defined, If a network interface is required, the administrator will need to add it after import of OVF/OVA Package."); + log.Warn("No networks defined, If a network interface is required, the administrator will need to add it after import of OVF/OVA Package."); } - Log.Debug("OVF.AddNetworks completed {0}", vsId); + log.DebugFormat("OVF.AddNetworks completed {0}", vsId); } private void AddCPUs(EnvelopeType ovfEnv, string vsId) @@ -1917,9 +1917,9 @@ namespace XenOvf else { SetCPUs(ovfEnv, vsId, 1); - Log.Warning("OVF.AddCPUs, set using default (1) CPU"); + log.Warn("OVF.AddCPUs, set using default (1) CPU"); } - Log.Debug("OVF.AddCPUs completed {0} cpus {1}", vsId, cpucount); + log.DebugFormat("OVF.AddCPUs completed {0} cpus {1}", vsId, cpucount); } private void AddMemory(EnvelopeType ovfEnv, string vsId) @@ -1951,11 +1951,11 @@ namespace XenOvf } else { - Log.Warning("OVF.AddMemory: could not determine system memory, defaulting to 512MB"); + log.Warn("OVF.AddMemory: could not determine system memory, defaulting to 512MB"); memory = 512L; } SetMemory(ovfEnv, vsId, memory, "byte * 2^20"); - Log.Debug("OVF.AddMemory completed {0} memory {1} ({2})", vsId, memory, "byte * 2 ^ 20"); + log.DebugFormat("OVF.AddMemory completed {0} memory {1} (byte * 2 ^ 20)", vsId, memory); } private void CreateConnectedDevices(EnvelopeType ovfEnv, string vsId, DiskInfo[] vhdExports) @@ -1987,7 +1987,7 @@ namespace XenOvf if (deviceid == null) { - Log.Trace("No device id defined, continuing"); + traceLog.Debug("No device id defined, continuing"); continue; } List ControllerAssociations = FindDeviceReferences("Win32_IDEControllerDevice", deviceid); @@ -2007,7 +2007,7 @@ namespace XenOvf } if (_dependent == null) { - Log.Trace("PCI Association not available, continuing."); + traceLog.Debug("PCI Association not available, continuing."); continue; } #endregion @@ -2018,7 +2018,7 @@ namespace XenOvf if (startswith.ToUpper().StartsWith(@"IDEDISK")) { - Log.Debug("OVF.CreateConnectedDevices Checking IDEDISK"); + log.Debug("OVF.CreateConnectedDevices Checking IDEDISK"); foreach (ManagementObject md in Win32_DiskDrive) { #region FIND BY PROPERTIES NOT EXPLICID @@ -2052,7 +2052,7 @@ namespace XenOvf { try { - Log.Debug("OVF.CreateConnectedDevices: Dependent: {0} Device: {1}", dependentId, _deviceid); + log.DebugFormat("OVF.CreateConnectedDevices: Dependent: {0} Device: {1}", dependentId, _deviceid); string diskInstanceId = Guid.NewGuid().ToString(); int lastAmp = dependentId.LastIndexOf('&'); if (lastAmp < 0) lastAmp = 0; @@ -2075,12 +2075,12 @@ namespace XenOvf Convert.ToUInt64(di.PhysicalSize), Convert.ToUInt64(di.CapacitySize)); AddDeviceToController(ovfEnv, vsId, diskInstanceId, controllerInstanceId, address); di.Added = true; - Log.Debug("OVF.CreateConnectedDevices: {0} ({1}) added to {2}", di.DriveId, di.VhdFileName, dependentId); + log.DebugFormat("OVF.CreateConnectedDevices: {0} ({1}) added to {2}", di.DriveId, di.VhdFileName, dependentId); } catch (Exception ex) { string msg = string.Format("{0} [{1}] controller connection could not be identified.", "IDEDISK", _pnpdeviceid); - Log.Error("OVF.CreateConnectedDevices: {0}", msg); + log.ErrorFormat("OVF.CreateConnectedDevices: {0}", msg); throw new Exception(msg, ex); } } @@ -2090,7 +2090,7 @@ namespace XenOvf } else if (startswith.ToUpper().StartsWith(@"IDECDROM")) { - Log.Debug("OVF.CreateConnectedDevices Checking IDECDROM"); + log.Debug("OVF.CreateConnectedDevices Checking IDECDROM"); foreach (ManagementObject md in Win32_CDROMDrive) { #region FIND BY PROPERTIES NOT EXPLICID @@ -2104,14 +2104,14 @@ namespace XenOvf } if (_pnpdeviceid == null) { - Log.Trace("PNPDeviceID not available, continuing."); + traceLog.Debug("PNPDeviceID not available, continuing."); continue; } #endregion _pnpdeviceid = _pnpdeviceid.Replace(@"\", ""); if (_pnpdeviceid.Equals(dependentId)) { - Log.Debug("OVF.CreateConnectedDevices: Dependent: {0} Device: {1}", dependentId, _pnpdeviceid); + log.DebugFormat("OVF.CreateConnectedDevices: Dependent: {0} Device: {1}", dependentId, _pnpdeviceid); try { string diskInstanceId = Guid.NewGuid().ToString(); @@ -2127,11 +2127,11 @@ namespace XenOvf } AddCDROM(ovfEnv, vsId, diskInstanceId, _ovfrm.GetString("RASD_16_CAPTION"), _ovfrm.GetString("RASD_16_ELEMENTNAME")); AddDeviceToController(ovfEnv, vsId, diskInstanceId, controllerInstanceId, address); - Log.Debug("OVF.CreateConnectedDevices: {0} added to {1}", "CDROM", dependentId); + log.DebugFormat("OVF.CreateConnectedDevices: CDROM added to {0}", dependentId); } catch { - Log.Warning("OVF.CreateConnectedDevices: {0} [{1}] controller connection could not be identified, skipped.", "CDROM", _pnpdeviceid); + log.WarnFormat("OVF.CreateConnectedDevices: CDROM [{0}] controller connection could not be identified, skipped.", _pnpdeviceid); } } } @@ -2141,9 +2141,9 @@ namespace XenOvf } else { - Log.Info("OVF.CreateConnectedDevices NO IDE controllers detected."); + log.Info("OVF.CreateConnectedDevices NO IDE controllers detected."); } - Log.Debug("OVF.CreateConnectedDevices IDE Controllers completed."); + log.Debug("OVF.CreateConnectedDevices IDE Controllers completed."); #endregion #region SCSI @@ -2162,7 +2162,7 @@ namespace XenOvf } if (_deviceid == null) { - Log.Trace("SCSI DeviceID not available, continuing."); + traceLog.Debug("SCSI DeviceID not available, continuing."); continue; } #endregion @@ -2171,7 +2171,7 @@ namespace XenOvf if (ControllerAssociations == null || ControllerAssociations.Count <= 0) { - Log.Trace("No Controller associations for {0}", _deviceid); + traceLog.DebugFormat("No Controller associations for {0}", _deviceid); continue; } @@ -2189,7 +2189,7 @@ namespace XenOvf } if (_dependent == null) { - Log.Trace("SCSI Association not available, continuing."); + traceLog.Debug("SCSI Association not available, continuing."); continue; } #endregion @@ -2244,7 +2244,7 @@ namespace XenOvf } if (__deviceid == null) { - Log.Trace("SCSI DeviceID not available, continuing."); + traceLog.Debug("SCSI DeviceID not available, continuing."); continue; } #endregion @@ -2262,7 +2262,7 @@ namespace XenOvf AddDisk(ovfEnv, vsId, diskInstanceId, lang, di.VhdFileName, bootable, _ovfrm.GetString("RASD_19_CAPTION"), _description, Convert.ToUInt64(di.PhysicalSize), Convert.ToUInt64(di.CapacitySize)); AddDeviceToController(ovfEnv, vsId, diskInstanceId, controllerInstanceId, Convert.ToString(__scsiport)); di.Added = true; - Log.Debug("CreateConnectedDevices: {0} ({1}) added to {2}", di.DriveId, di.VhdFileName, dependentId); + log.DebugFormat("CreateConnectedDevices: {0} ({1}) added to {2}", di.DriveId, di.VhdFileName, dependentId); } } } @@ -2308,7 +2308,7 @@ namespace XenOvf } if (__deviceid == null) { - Log.Trace("SCSI DeviceID not available, continuing."); + traceLog.Debug("SCSI DeviceID not available, continuing."); continue; } #endregion @@ -2319,7 +2319,7 @@ namespace XenOvf string caption = string.Format(_ovfrm.GetString("RASD_CONTROLLER_SCSI_DESCRIPTION"), __scsibus, __scsilogicalunit, __scsiport, __scsitargetid); AddCDROM(ovfEnv, vsId, diskInstanceId, caption, _ovfrm.GetString("RASD_16_DESCRIPTION")); AddDeviceToController(ovfEnv, vsId, diskInstanceId, controllerInstanceId, Convert.ToString(__scsiport)); - Log.Debug("CreateConnectedDevices: {0} added to {1}", "CDROM", dependentId); + log.DebugFormat("CreateConnectedDevices: CDROM added to {0}", dependentId); } } } @@ -2328,9 +2328,9 @@ namespace XenOvf } else { - Log.Info("OVF.CreateConnectedDevices no SCSI Controllers detected."); + log.Info("OVF.CreateConnectedDevices no SCSI Controllers detected."); } - Log.Debug("OVF.CreateConnectedDevices SCSI Controllers completed {0} ", vsId); + log.DebugFormat("OVF.CreateConnectedDevices SCSI Controllers completed {0} ", vsId); #endregion #region OTHER CONTROLLER DISKS @@ -2369,10 +2369,10 @@ namespace XenOvf bool bootable = IsBootDisk(di.DriveId); AddDisk(ovfEnv, vsId, diskInstanceId, lang, di.VhdFileName, bootable, _ovfrm.GetString("RASD_19_CAPTION"), _mediatype, Convert.ToUInt64(di.PhysicalSize), Convert.ToUInt64(di.CapacitySize)); di.Added = true; - Log.Debug("CreateConnectedDevices: {0} ({1}) added to {2}", di.DriveId, di.VhdFileName, _mediatype); + log.DebugFormat("CreateConnectedDevices: {0} ({1}) added to {2}", di.DriveId, di.VhdFileName, _mediatype); } } - Log.Debug("OVF.CreateConnectedDevices OTHER Controllers completed {0} ", vsId); + log.DebugFormat("OVF.CreateConnectedDevices OTHER Controllers completed {0} ", vsId); #endregion #region CHECK ALL DISKS WERE DEFINED @@ -2382,14 +2382,14 @@ namespace XenOvf { AddDisk(ovfEnv, vsId, Guid.NewGuid().ToString(), lang, di.VhdFileName, false, _ovfrm.GetString("RASD_19_CAPTION"), _ovfrm.GetString("RASD_19_DESCRIPTION"), Convert.ToUInt64(di.PhysicalSize), Convert.ToUInt64(di.CapacitySize)); di.Added = true; - Log.Warning("CreateConnectedDevices: MANUAL Update of OVF REQUIRED TO DEFINE: Disk Size and Capacity"); - Log.Warning("CreateConnectedDevices: {0} ({1}) NOT FOUND, added as Unknown with 0 Size", di.DriveId, di.VhdFileName); + log.Warn("CreateConnectedDevices: MANUAL Update of OVF REQUIRED TO DEFINE: Disk Size and Capacity"); + log.WarnFormat("CreateConnectedDevices: {0} ({1}) NOT FOUND, added as Unknown with 0 Size", di.DriveId, di.VhdFileName); } } #endregion - Log.Debug("OVF.CreateConnectedDevices completed {0} ", vsId); + log.DebugFormat("OVF.CreateConnectedDevices completed {0} ", vsId); } #endregion } -} \ No newline at end of file +} diff --git a/XenOvfApi/OVF.cs b/XenOvfApi/OVF.cs index 2a01e770d..3d9e808ec 100644 --- a/XenOvfApi/OVF.cs +++ b/XenOvfApi/OVF.cs @@ -47,6 +47,10 @@ namespace XenOvf { public partial class OVF { + private static readonly log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private static readonly log4net.ILog auditLog = log4net.LogManager.GetLogger("Audit"); + private static readonly log4net.ILog traceLog = log4net.LogManager.GetLogger("Trace"); + /// /// Event Registration of changes in Ovf state. /// @@ -83,8 +87,8 @@ namespace XenOvf public OVF() { UnLoad(); - Log.Info("XenOvf.Message.resources {0}", Messages.RESOURCES_LOADED); - Log.Info("XenOvf.Content.resources {0}", Messages.RESOURCES_LOADED); + log.InfoFormat("XenOvf.Message.resources {0}", Messages.RESOURCES_LOADED); + log.InfoFormat("XenOvf.Content.resources {0}", Messages.RESOURCES_LOADED); } #endregion @@ -141,10 +145,15 @@ namespace XenOvf /// public static void SaveAs(string OvfXml, string filename) { - Log.Debug("OVF.SaveAs: {0}", filename); - if (OvfXml == null || filename == null) + log.DebugFormat("OVF.SaveAs: {0}", filename); + if (OvfXml == null) { - Log.Error("SaveAs::NULL input cannot save OvfXml[{0}] Filename[{1}]", (OvfXml == null) ? "NULL" : "OK", (filename == null) ? "NULL" : "OK"); + log.Error("SaveAs: cannot save NULL string OvfXml"); + throw new ArgumentNullException(); + } + if (filename == null) + { + log.Error("SaveAs: cannot save OvfXml. Filename was NULL"); throw new ArgumentNullException(); } @@ -162,7 +171,7 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("File handling error. {0}", ex.Message); + log.ErrorFormat("File handling error. {0}", ex.Message); } FileStream fs = null; StreamWriter sw = null; @@ -175,8 +184,8 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("SaveAs FAILED: {0} with {1}", filename, ex.Message); - throw ex; + log.ErrorFormat("SaveAs FAILED: {0} with {1}", filename, ex.Message); + throw; } finally { @@ -184,7 +193,7 @@ namespace XenOvf if (fs != null) fs.Close(); } if (File.Exists(oldfile)) { File.Delete(oldfile); } - Log.Debug("OVF.SaveAs completed"); + log.Debug("OVF.SaveAs completed"); } #endregion @@ -264,12 +273,12 @@ namespace XenOvf { if (File.Exists(findfile)) { - Log.Info("File: OVF: {0} found file with (.{1}) extension", filename, extension); + log.InfoFormat("File: OVF: {0} found file with (.{1}) extension", filename, extension); foundfile = true; } else { - Log.Info("File: OVF: {0} did not find file with (.{1}) extension", filename, extension); + log.InfoFormat("File: OVF: {0} did not find file with (.{1}) extension", filename, extension); foundfile = false; } } @@ -287,7 +296,7 @@ namespace XenOvf { if (ext.ToLower().EndsWith("gz") || ext.ToLower().EndsWith("bz2")) // need to decompress. { - Log.Info("OVA is compressed, de-compression stream inserted"); + log.Info("OVA is compressed, de-compression stream inserted"); string ovaext = Path.GetExtension(ovfname); if (ovaext.ToLower().EndsWith("ova")) { @@ -333,10 +342,10 @@ namespace XenOvf while(tar.HasNext()) { string ovaext = Path.GetExtension(tar.CurrentFileName()); - Log.Debug("OVA: File: {0}", tar.CurrentFileName()); + log.DebugFormat("OVA: File: {0}", tar.CurrentFileName()); if (tar.CurrentFileName() != null && ovaext.ToLower().Contains(extension.ToLower())) { - Log.Info("OVF: File: {0} found file with (.{1}) extension", tar.CurrentFileName(), extension); + log.InfoFormat("OVF: File: {0} found file with (.{1}) extension", tar.CurrentFileName(), extension); foundfile = true; break; } @@ -352,7 +361,7 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("OVA search FAILED with {0}", ex.Message); + log.ErrorFormat("OVA search FAILED with {0}", ex.Message); throw; } finally @@ -365,7 +374,7 @@ namespace XenOvf } else { - Log.Info("Unknown extension {0}", ext); + log.InfoFormat("Unknown extension {0}", ext); foundfile = false; } return foundfile; @@ -460,7 +469,7 @@ namespace XenOvf AddRasdToAllVHS(ovfObj, vsId, rasd); - Log.Debug("OVF.AddCDDrive completed"); + log.Debug("OVF.AddCDDrive completed"); return rasd.InstanceID.Value; } /// @@ -495,7 +504,7 @@ namespace XenOvf AddControllerToVHS(vhs, lang, type, deviceId, iteration); } - Log.Debug("OVF.AddController completed"); + log.Debug("OVF.AddController completed"); } /// /// Add a controller to the mix. @@ -555,7 +564,7 @@ namespace XenOvf vhs.Item = rasds.ToArray(); - Log.Debug("OVF.AddController completed"); + log.Debug("OVF.AddController completed"); } /// /// @@ -666,7 +675,7 @@ namespace XenOvf } } } - Log.Debug("OVF.AddDeviceToController completed"); + log.Debug("OVF.AddDeviceToController completed"); return; } /// @@ -797,7 +806,7 @@ namespace XenOvf ovfEnv.Sections = sections.ToArray(); ovfEnv.References.File = files.ToArray(); - Log.Debug("OVF.AddDisk completed"); + log.Debug("OVF.AddDisk completed"); } /// /// @@ -1095,7 +1104,7 @@ namespace XenOvf netsection.Network = ns.ToArray(); sections.Add(netsection); ovfEnv.Sections = sections.ToArray(); - Log.Debug("OVF.AddNetwork completed"); + log.Debug("OVF.AddNetwork completed"); } /// /// @@ -1171,7 +1180,7 @@ namespace XenOvf throw new ArgumentNullException(Messages.FAILED_TO_ADD_OS_SECTION); } AddContent((VirtualSystemCollection_Type)ovfEnv.Item, vsId, oss); - Log.Debug("OVF.AddOperatingSystemSection completed {0}", vsId); + log.DebugFormat("OVF.AddOperatingSystemSection completed {0}", vsId); } /// /// @@ -1211,7 +1220,7 @@ namespace XenOvf if (vhs == null) { - Log.Warning("OVF.AddOtherSystemSettingData: could not find 'xen' or 'hvm' system type VHS, skipping."); + log.Warn("OVF.AddOtherSystemSettingData: could not find 'xen' or 'hvm' system type VHS, skipping."); return null; } @@ -1238,7 +1247,7 @@ namespace XenOvf xencfg.Add(xenother); vhs.VirtualSystemOtherConfigurationData = xencfg.ToArray(); - Log.Debug("OVF.AddOtherSystemSettingData completed"); + log.Debug("OVF.AddOtherSystemSettingData completed"); return xenother.id; } @@ -1457,7 +1466,7 @@ namespace XenOvf string elementname = _ovfrm.GetString("RASD_UNKNOWN_ELEMENTNAME"); if (lRasd.ElementName != null && !string.IsNullOrEmpty(lRasd.ElementName.Value)) elementname = lRasd.ElementName.Value; - Log.Debug("OVF.AddRasd added: {0}:{1}", elementname, lRasd.InstanceID.Value); + log.DebugFormat("OVF.AddRasd added: {0}:{1}", elementname, lRasd.InstanceID.Value); return lRasd.InstanceID.Value; } /// @@ -1586,7 +1595,7 @@ namespace XenOvf sections.Add(startupSection); env.Sections = sections.ToArray(); - Log.Debug("OVF.AddStartupOptions completed"); + log.Debug("OVF.AddStartupOptions completed"); return startupSection.Id; } @@ -1685,7 +1694,7 @@ namespace XenOvf throw new ArgumentNullException(Messages.FAILED_TO_ADD_VIRTUAL_HARDWARE_SECTION); } AddContent((VirtualSystemCollection_Type)ovfEnv.Item, vsId, vhs); - Log.Debug("OVF.AddVirtualHardwareSection completed {0}", vsId); + log.DebugFormat("OVF.AddVirtualHardwareSection completed {0}", vsId); return vhs.Id; } /// @@ -1750,7 +1759,7 @@ namespace XenOvf AddVirtualSystem(ovfObj, vs); AddOperatingSystemSection(ovfObj, vs.id, lang, null, null); - Log.Debug("OVF.AddVirtualSystem(obj,lang,ovfname) completed"); + log.Debug("OVF.AddVirtualSystem(obj,lang,ovfname) completed"); return vs.id; } /// @@ -1771,7 +1780,7 @@ namespace XenOvf } virtualsystems.Add(vs); ((VirtualSystemCollection_Type)ovfEnv.Item).Content = virtualsystems.ToArray(); - Log.Debug("OVF.AddVirtualSystem(obj, vs)"); + log.Debug("OVF.AddVirtualSystem(obj, vs)"); } /// /// @@ -1819,7 +1828,7 @@ namespace XenOvf } vhs.System = vssd; - Log.Debug("OVF.AddVirtualSystemSettingData completed"); + log.Debug("OVF.AddVirtualSystemSettingData completed"); } #endregion @@ -1882,7 +1891,7 @@ namespace XenOvf vscontent.id = Guid.NewGuid().ToString(); vscontent.Content = null; - Log.Debug("OVF.CreateEnvelope {0} created {1}", ovfEnv.Name, ovfEnv.id); + log.DebugFormat("OVF.CreateEnvelope {0} created {1}", ovfEnv.Name, ovfEnv.id); return ovfEnv; } @@ -1974,7 +1983,7 @@ namespace XenOvf rasd.Connection[0].Value = sb.ToString(); } } - Log.Debug("OVF.RemoveConnectionInRASD completed {0}", vsId); + log.DebugFormat("OVF.RemoveConnectionInRASD completed {0}", vsId); return rasd; } /// @@ -2288,13 +2297,13 @@ namespace XenOvf string elementname = _ovfrm.GetString("RASD_UNKNOWN_ELEMENTNAME"); if (!string.IsNullOrEmpty(_rasd.ElementName.Value)) elementname = _rasd.ElementName.Value; - Log.Debug("OVF.RemoveRasd deleted: {0}:{1}", elementname, _rasd.InstanceID.Value); + log.DebugFormat("OVF.RemoveRasd deleted: {0}:{1}", elementname, _rasd.InstanceID.Value); } } } vhs.Item = rasds.ToArray(); } - Log.Debug("OVF.RemoveRasd completed"); + log.Debug("OVF.RemoveRasd completed"); } /// /// @@ -2464,7 +2473,7 @@ namespace XenOvf } } } - Log.Trace("UpdateAnnotation Exit"); + traceLog.Debug("UpdateAnnotation Exit"); } /// /// Add a CD/DVD Drive @@ -2513,7 +2522,7 @@ namespace XenOvf rasd.Description = new cimString(description); } - Log.Debug("OVF.UpdateCDROM Exit"); + log.Debug("OVF.UpdateCDROM Exit"); } /// /// Add a controller to the mix. @@ -2560,7 +2569,7 @@ namespace XenOvf rasd.Address.Value = Convert.ToString(iteration); } - Log.Debug("OVF.UpdateController exit"); + log.Debug("OVF.UpdateController exit"); } /// /// Update a defined Deployment Option @@ -2667,7 +2676,7 @@ namespace XenOvf { if (_rasd.ResourceType.Value == 15 || _rasd.ResourceType.Value == 16) { - Log.Info("Found CD in connection, skipped"); + log.Info("Found CD in connection, skipped"); break; } rasdList.Add(_rasd); @@ -2741,7 +2750,7 @@ namespace XenOvf disk.populatedSizeSpecified = true; } file.href = string.Format(Properties.Settings.Default.FileURI, vhdFileName); - Log.Debug("OVF.UpdateDisk.1 completed"); + log.Debug("OVF.UpdateDisk.1 completed"); } /// /// Update a EULA to the OVF @@ -2800,7 +2809,7 @@ namespace XenOvf PropertyInfo p = targetobj.GetType().GetProperty(fieldname); if (p == null) { - Log.Error("PROPERTY: {0}.{1} does not exist", targetobj.GetType().Name, fieldname); + log.ErrorFormat("PROPERTY: {0}.{1} does not exist", targetobj.GetType().Name, fieldname); } else { @@ -2841,10 +2850,10 @@ namespace XenOvf } else { - Log.Error("{0} has no set method, read only", p.Name); + log.ErrorFormat("{0} has no set method, read only", p.Name); } } - Log.Debug("OVF.UpdateField completed {0}", fieldname); + log.DebugFormat("OVF.UpdateField completed {0}", fieldname); } /// /// Update DISK information by RASD InstanceID @@ -2867,12 +2876,12 @@ namespace XenOvf } else { - Log.Error("Cannot replace {0} with {1} because OVF does not contain a References Section.", oldfilename, newfilename); + log.ErrorFormat("Cannot replace {0} with {1} because OVF does not contain a References Section.", oldfilename, newfilename); throw new ArgumentException(Messages.OVF_REFERENCE_SECTION_MISSING); } #endregion - Log.Debug("OVF.UpdateFilename completed"); + log.Debug("OVF.UpdateFilename completed"); } /// /// @@ -2925,7 +2934,7 @@ namespace XenOvf } #endregion - Log.Debug("OVF.UpdateFileSize completed"); + log.Debug("OVF.UpdateFileSize completed"); } /// /// The InstallSection indicates that the virtual machine needs to be booted once in order to install and or configure the guest software. @@ -3009,7 +3018,7 @@ namespace XenOvf rasd.Address = null; } } - Log.Debug("OVF.UpdateNetwork completed"); + log.Debug("OVF.UpdateNetwork completed"); } /// /// Update the Operating System Section @@ -3403,7 +3412,7 @@ namespace XenOvf } } } - Log.Debug("OVF.UpdateResourceAllocationSettingData completed"); + log.Debug("OVF.UpdateResourceAllocationSettingData completed"); } /// /// Startup Section wrapper. @@ -3539,7 +3548,7 @@ namespace XenOvf } else { - Log.Info("No String Section, operation skipped"); + log.Info("No String Section, operation skipped"); return message; } if (currentLanguage == null) @@ -3605,7 +3614,7 @@ namespace XenOvf { vs.Name = new Msg_Type[1] { new Msg_Type(AddToStringSection(ovfObj, lang, name), name) }; } - Log.Debug("OVF.UpdateVirtualSystem completed"); + log.Debug("OVF.UpdateVirtualSystem completed"); } /// /// Update the name field, over write[0] if present add if not. @@ -3669,7 +3678,7 @@ namespace XenOvf } UpdateField(vhs.System, fieldname, value); } - Log.Debug("OVF.UpdateResourceAllocationSettingData completed"); + log.Debug("OVF.UpdateResourceAllocationSettingData completed"); } /// /// @@ -3688,7 +3697,7 @@ namespace XenOvf vhs.System.InstanceID = new cimString(Guid.NewGuid().ToString()); } UpdateField(vhs.System, fieldname, value); - Log.Debug("OVF.UpdateResourceAllocationSettingData completed"); + log.Debug("OVF.UpdateResourceAllocationSettingData completed"); } #endregion @@ -3859,7 +3868,7 @@ namespace XenOvf } } } - Log.Debug("OVF.FindDiskRasds completed, {0} found", diskRasds.Count); + log.DebugFormat("OVF.FindDiskRasds completed, {0} found", diskRasds.Count); return diskRasds.ToArray(); } /// @@ -3886,7 +3895,7 @@ namespace XenOvf returnRasds.AddRange(FindRasdByType(item, resourceType)); } } - Log.Debug("OVF.FindRasdByType completed"); + log.Debug("OVF.FindRasdByType completed"); return returnRasds.ToArray(); } /// @@ -3910,7 +3919,7 @@ namespace XenOvf rasds.Add(_rasd); } } - Log.Debug("OVF.FindRasdByType completed, {0} found", rasds.Count); + log.DebugFormat("OVF.FindRasdByType completed, {0} found", rasds.Count); return rasds.ToArray(); } /// @@ -3939,7 +3948,7 @@ namespace XenOvf break; } - Log.Debug("OVF.FindRasdById completed"); + log.Debug("OVF.FindRasdById completed"); return returnRasd; } /// @@ -3959,11 +3968,11 @@ namespace XenOvf { if (_rasd.InstanceID.Value.Equals(instanceId)) { - Log.Debug("OVF.FindRasdById completed, found"); + log.Debug("OVF.FindRasdById completed, found"); return _rasd; } } - Log.Debug("OVF.FindRasdById completed, not found"); + log.Debug("OVF.FindRasdById completed, not found"); return null; } /// @@ -4207,7 +4216,7 @@ namespace XenOvf { systemIds.Add(vSystem.id); } - Log.Debug("OVF.FindSystemIds completed, {0} found", systemIds.Count); + log.DebugFormat("OVF.FindSystemIds completed, {0} found", systemIds.Count); return systemIds.ToArray(); } /// @@ -4573,7 +4582,7 @@ namespace XenOvf } } - Log.Debug("OVF.FindSizes: Id {0} Size {1} Type {2}", diskDetails.DriveId, diskDetails.CapacitySize, (diskDetails.DiskType == 0) ? "HDD" : "CD/DVD/Other"); + log.DebugFormat("OVF.FindSizes: Id {0} Size {1} Type {2}", diskDetails.DriveId, diskDetails.CapacitySize, (diskDetails.DiskType == 0) ? "HDD" : "CD/DVD/Other"); di.Add(diskDetails); AtVDI = false; } @@ -4615,7 +4624,7 @@ namespace XenOvf } } mappings.Clear(); - Log.Debug("OVF.FindSizes completed"); + log.Debug("OVF.FindSizes completed"); return di.ToArray(); } /// @@ -4789,7 +4798,7 @@ namespace XenOvf } } - Log.Debug("OVF.FindVirtualHardwareSection {0} found.", vhs.Count); + log.DebugFormat("OVF.FindVirtualHardwareSection {0} found.", vhs.Count); return vhs.ToArray(); } /// @@ -4827,7 +4836,7 @@ namespace XenOvf } } - Log.Debug("OVF.FindVirtualHardwareSection completed {0} ", vsId); + log.DebugFormat("OVF.FindVirtualHardwareSection completed {0} ", vsId); return vhs; } /// @@ -4853,15 +4862,15 @@ namespace XenOvf if (_vhs.System == null) { vhs = _vhs; - Log.Info("Import.Process: Found an Unknown Virtual Hardware Section (Rating: 5) [Unknown]"); - Log.Info("Import.Process: Results may vary depending on hard disk image format."); + log.Info("Import.Process: Found an Unknown Virtual Hardware Section (Rating: 5) [Unknown]"); + log.Info("Import.Process: Results may vary depending on hard disk image format."); priority = 5; } else if (_vhs.System.VirtualSystemType.Value.ToLower().StartsWith(typeAffinity)) { vhs = _vhs; priority = 0; - Log.Info("Import.Process: Found closest affinity Virtual Hardware Section (Rating: 0) [{0}]", _vhs.System.VirtualSystemType.Value); + log.InfoFormat("Import.Process: Found closest affinity Virtual Hardware Section (Rating: 0) [{0}]", _vhs.System.VirtualSystemType.Value); break; } else if (_vhs.System.VirtualSystemType.Value.ToLower().StartsWith("xen") || @@ -4871,7 +4880,7 @@ namespace XenOvf { vhs = _vhs; priority = 1; - Log.Info("Import.Process: Found a XEN PV'd Virtual Hardware Section (Rating: 1) [{0}]", _vhs.System.VirtualSystemType.Value); + log.InfoFormat("Import.Process: Found a XEN PV'd Virtual Hardware Section (Rating: 1) [{0}]", _vhs.System.VirtualSystemType.Value); } } else if (_vhs.System.VirtualSystemType.Value.ToLower().StartsWith("hvm") || @@ -4881,7 +4890,7 @@ namespace XenOvf { vhs = _vhs; priority = 2; - Log.Info("Import.Process: Found a XEN Non-PV'd Virtual Hardware Section (Rating: 2) [{0}]", _vhs.System.VirtualSystemType.Value); + log.InfoFormat("Import.Process: Found a XEN Non-PV'd Virtual Hardware Section (Rating: 2) [{0}]", _vhs.System.VirtualSystemType.Value); } } else if (_vhs.System.VirtualSystemType.Value.ToLower().StartsWith("301")) @@ -4891,7 +4900,7 @@ namespace XenOvf vhs = _vhs; priority = 3; } - Log.Info("Import.Process: Found a Microsoft Virtual Hardware Section (Rating: 3) [{0}]", _vhs.System.VirtualSystemType.Value); + log.InfoFormat("Import.Process: Found a Microsoft Virtual Hardware Section (Rating: 3) [{0}]", _vhs.System.VirtualSystemType.Value); } else if (_vhs.System.VirtualSystemType.Value.ToLower().StartsWith("vmx")) { @@ -4899,7 +4908,7 @@ namespace XenOvf { vhs = _vhs; priority = 4; - Log.Info("Import.Process: Found a VMWare Virtual Hardware Section (Rating: 4) [{0}]", _vhs.System.VirtualSystemType.Value); + log.InfoFormat("Import.Process: Found a VMWare Virtual Hardware Section (Rating: 4) [{0}]", _vhs.System.VirtualSystemType.Value); } } else @@ -4907,8 +4916,8 @@ namespace XenOvf if (priority >= 5) { vhs = _vhs; - Log.Info("Import.Process: Found an Unknown Virtual Hardware Section (Rating: 5) [{0}]", _vhs.System.VirtualSystemType.Value); - Log.Info("Import.Process: Results may vary depending on hard disk image format."); + log.InfoFormat("Import.Process: Found an Unknown Virtual Hardware Section (Rating: 5) [{0}]", _vhs.System.VirtualSystemType.Value); + log.InfoFormat("Import.Process: Results may vary depending on hard disk image format."); priority = 5; } } @@ -4917,7 +4926,7 @@ namespace XenOvf if (vhs == null) { - Log.Error("Import.Process: No VirtualHardwareSection_Type Exists"); + log.Error("Import.Process: No VirtualHardwareSection_Type Exists"); throw new InvalidDataException(Messages.OVF_VHS_MISSING); } return vhs; @@ -4975,7 +4984,7 @@ namespace XenOvf vhs.Item = rasds.ToArray(); } - Log.Debug("OVF.SetCPUs completed"); + log.Debug("OVF.SetCPUs completed"); } /// /// Set Memory Setting Information @@ -5039,7 +5048,7 @@ namespace XenOvf vhs.Item = rasds.ToArray(); } - Log.Debug("OVF.SetMemory completed"); + log.Debug("OVF.SetMemory completed"); } /// /// Helper to set the target userdevice to connect the resources. @@ -5055,7 +5064,7 @@ namespace XenOvf if (nbr < 0 || nbr > 15) { var message = string.Format(Messages.OVF_DEVICE_OUT_OF_RANGE, device); - Log.Error(message); + log.Error(message); throw new ArgumentOutOfRangeException(message); } @@ -5066,7 +5075,7 @@ namespace XenOvf } rasd.AddressOnParent.Value = device; - Log.Debug("OVF.SetTargetDeviceInRASD completed {0} device {1}", vsId, device); + log.DebugFormat("OVF.SetTargetDeviceInRASD completed {0} device {1}", vsId, device); } /// /// Helper to add an ISO into the Envelope @@ -5078,7 +5087,7 @@ namespace XenOvf public static void SetTargetISOSRInRASD(EnvelopeType ovfObj, string vsId, string rasdId, string sruuid) { SetConnectionInRASD(ovfObj, vsId, rasdId, Properties.Settings.Default.xenSRKey, sruuid); - Log.Debug("OVF.SetTargetISOSRInRASD completed {0}", vsId); + log.DebugFormat("OVF.SetTargetISOSRInRASD completed {0}", vsId); } /// /// Helper to set the destination Storage Repository for the VM drives. @@ -5090,7 +5099,7 @@ namespace XenOvf public static void SetTargetSRInRASD(EnvelopeType ovfObj, string vsId, string rasdId, string sruuid) { SetConnectionInRASD(ovfObj, vsId, rasdId, Properties.Settings.Default.xenSRKey, sruuid); - Log.Debug("OVF.SetTargetSRInRASD completed {0}", vsId); + log.DebugFormat("OVF.SetTargetSRInRASD completed {0}", vsId); } /// @@ -5103,7 +5112,7 @@ namespace XenOvf public static void SetTargetVDIInRASD(EnvelopeType ovfObj, string vsId, string rasdId, string vdiuuid) { SetConnectionInRASD(ovfObj, vsId, rasdId, Properties.Settings.Default.xenVDIKey, vdiuuid); - Log.Debug("OVF.SetTargetVDIInRASD completed {0}", vsId); + log.DebugFormat("OVF.SetTargetVDIInRASD completed {0}", vsId); } /// @@ -5116,7 +5125,7 @@ namespace XenOvf public static void SetTargetNetworkInRASD(EnvelopeType ovfObj, string vsId, string rasdId, string netuuid) { SetConnectionInRASD(ovfObj, vsId, rasdId, Properties.Settings.Default.xenNetworkKey, netuuid); - Log.Debug("OVF.SetTargetNetworkInRASD completed {0}", vsId); + log.DebugFormat("OVF.SetTargetNetworkInRASD completed {0}", vsId); } /// /// Add information to the RASD.Connection[0].Value, This field is used to define @@ -5162,7 +5171,7 @@ namespace XenOvf { rasd.Connection = new cimString[] { new cimString(string.Format("{0}{1}", prompt, uuid)) }; } - Log.Debug("OVF.SetConnectionInRASD completed {0}", vsId); + log.DebugFormat("OVF.SetConnectionInRASD completed {0}", vsId); return rasd; } /// @@ -5244,7 +5253,7 @@ namespace XenOvf { ident = vhs.System.InstanceID.Value; } - Log.Info("Booting a Paravirtualized disk to CDROM is not valid, skipping: {0}", ident); + log.InfoFormat("Booting a Paravirtualized disk to CDROM is not valid, skipping: {0}", ident); continue; } } @@ -5286,7 +5295,7 @@ namespace XenOvf } else { - Log.Warning("SetRunOnceBootCDROM: Missing ISO: {0} find and copy to: {1}", srcFile, destFile); + log.WarnFormat("SetRunOnceBootCDROM: Missing ISO: {0} find and copy to: {1}", srcFile, destFile); } } return cdId; @@ -5355,7 +5364,7 @@ namespace XenOvf { _processId = System.Diagnostics.Process.GetCurrentProcess().Id; _touchFile = Path.Combine(pathToOva, "xen__" + _processId); - Log.Info("OVF.OpenOva: TouchFile: {0}", _touchFile); + log.InfoFormat("OVF.OpenOva: TouchFile: {0}", _touchFile); if (!File.Exists(_touchFile)) { FileStream fs = File.Create(_touchFile); fs.Close(); @@ -5373,7 +5382,7 @@ namespace XenOvf { if (ext.ToLower().EndsWith("gz") || ext.ToLower().EndsWith("bz2")) // need to decompress. { - Log.Info("OVA is compressed, de-compression stream inserted"); + log.Info("OVA is compressed, de-compression stream inserted"); ovafilename = string.Format(@"{0}", Path.GetFileNameWithoutExtension(ovaFileName)); string ovaext = Path.GetExtension(ovafilename); if (ovaext.ToLower().EndsWith("ova")) @@ -5411,8 +5420,8 @@ namespace XenOvf inputStream.Close(); inputStream = null; } - Log.Error("OVF.OpenOva: open failure {0}", ex.Message); - throw ex; + log.ErrorFormat("OVF.OpenOva: open failure {0}", ex.Message); + throw; } #endregion @@ -5425,7 +5434,7 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("OVF.OpenOva: Exception: {0}", ex.Message); + log.ErrorFormat("OVF.OpenOva: Exception: {0}", ex.Message); } finally { @@ -5445,14 +5454,14 @@ namespace XenOvf inputStream = null; } Directory.SetCurrentDirectory(origDir); - Log.Debug("OVF.OpenOva: Finally block"); + log.Debug("OVF.OpenOva: Finally block"); } #endregion - Log.Debug("OVF.OpenOva completed"); + log.Debug("OVF.OpenOva completed"); } else { - Log.Info("OVF.OpenOva: Previously Opened, using extracted files."); + log.Info("OVF.OpenOva: Previously Opened, using extracted files."); } } /// @@ -5473,7 +5482,7 @@ namespace XenOvf if (ovapath.ToLower().EndsWith("gz") || ovapath.ToLower().EndsWith("bz2")) // need to decompress. { - Log.Info("OVA is compressed, de-compression stream inserted"); + log.Info("OVA is compressed, de-compression stream inserted"); string ovaext = Path.GetExtension(Path.GetFileNameWithoutExtension(ovapath)); if (ovaext.ToLower().EndsWith("ova")) @@ -5583,7 +5592,7 @@ namespace XenOvf if (systems.Count <= 0) { - Log.Error("Finalize Envelope FAILED, no Virtual Systems Defined."); + log.Error("Finalize Envelope FAILED, no Virtual Systems Defined."); return; } @@ -5652,7 +5661,7 @@ namespace XenOvf { ovfEnv.Item = (Content_Type)systems[0]; } - Log.Debug("OVF.FinalizeEnvelope completed."); + log.Debug("OVF.FinalizeEnvelope completed."); } /// /// @@ -5995,12 +6004,12 @@ namespace XenOvf bool useHostResource = false; if (Tools.ValidateProperty("HostResource", rasd)) { - Log.Debug("Using HostResource to find Disk"); + log.Debug("Using HostResource to find Disk"); useHostResource = true; } else { - Log.Debug("Using InstanceID to find Disk"); + log.Debug("Using InstanceID to find Disk"); } foreach (VirtualDiskDesc_Type disk in disks) @@ -6102,7 +6111,7 @@ namespace XenOvf } } } - Log.Debug("OVF.AddContent completed {0}", vsId); + log.DebugFormat("OVF.AddContent completed {0}", vsId); } private static void AddRasdToAllVHS(EnvelopeType ovfEnv, string vsId, RASD_Type rasd) { @@ -6143,7 +6152,7 @@ namespace XenOvf } if (antecedent == null) { - Log.Trace("PCI Association not available, continuing."); + traceLog.Debug("PCI Association not available, continuing."); continue; } #endregion @@ -6152,7 +6161,7 @@ namespace XenOvf References.Add(mgtobj); } } - Log.Debug("OVF.FindDeviceReferences completed {0} {1}", classname, deviceId); + log.DebugFormat("OVF.FindDeviceReferences completed {0} {1}", classname, deviceId); return References; } private bool IsBootDisk(string deviceID) @@ -6178,7 +6187,7 @@ namespace XenOvf } if (_antecedent == null || _dependent == null) { - Log.Trace("Win32_DiskDriveToDiskPartition Association not available, continuing."); + traceLog.Debug("Win32_DiskDriveToDiskPartition Association not available, continuing."); continue; } #endregion @@ -6203,7 +6212,7 @@ namespace XenOvf } if (_deviceid == null) { - Log.Trace("Win32_DiskPartition DeviceID not available, continuing."); + traceLog.Debug("Win32_DiskPartition DeviceID not available, continuing."); continue; } #endregion @@ -6217,9 +6226,9 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("OVF.IsBootDisk failed, could not determine if bootable, {0}", ex.Message); + log.ErrorFormat("OVF.IsBootDisk failed, could not determine if bootable, {0}", ex.Message); } - Log.Debug("OVF.IsBootDisk completed Bootable = {0}", bootable); + log.DebugFormat("OVF.IsBootDisk completed Bootable = {0}", bootable); return bootable; } private bool FillEmptyRequiredFields(RASD_Type rasd) diff --git a/XenOvfApi/Package.cs b/XenOvfApi/Package.cs index b16795e1a..cba0b7873 100644 --- a/XenOvfApi/Package.cs +++ b/XenOvfApi/Package.cs @@ -534,7 +534,7 @@ namespace XenOvf if (!fileDigest.WasVerified) { // A manifest entry was missing. - XenOvf.Utilities.Log.Error(string.Format(Messages.FILE_MISSING, fileDigest.Name)); + log.ErrorFormat(string.Format(Messages.FILE_MISSING, fileDigest.Name)); } } @@ -551,6 +551,8 @@ namespace XenOvf // Abstract class to access any time of package. public abstract class Package { + protected static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + // Package factory. public static Package Create(string path) { diff --git a/XenOvfApi/Properties/Settings.Designer.cs b/XenOvfApi/Properties/Settings.Designer.cs index b5b4e6905..62d804618 100644 --- a/XenOvfApi/Properties/Settings.Designer.cs +++ b/XenOvfApi/Properties/Settings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.5472 +// Runtime Version:4.0.30319.18408 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -12,7 +12,7 @@ namespace XenOvf.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -41,51 +41,6 @@ namespace XenOvf.Properties { } } - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("Audit, Error, Warning")] - public string LogLevel { - get { - return ((string)(this["LogLevel"])); - } - } - - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("XenApplianceWizard.log")] - public string LogFile { - get { - return ((string)(this["LogFile"])); - } - } - - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("Audit, Console")] - public string LogType { - get { - return ((string)(this["LogType"])); - } - } - - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("XenLocalOVF")] - public string LogSource { - get { - return ((string)(this["LogSource"])); - } - } - - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("ApplicationData")] - public string LogPath { - get { - return ((string)(this["LogPath"])); - } - } - [global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("XenServer P2V (Orela) Server")] @@ -375,15 +330,6 @@ namespace XenOvf.Properties { } } - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("Plain//Stamp")] - public string LogFormat { - get { - return ((string)(this["LogFormat"])); - } - } - [global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute(".vhd,.pvp,.vmdk,.mf,.cert,.xva,.ovf,.wim,.vdi,.sdi,.iso,.gz")] @@ -673,15 +619,6 @@ namespace XenOvf.Properties { } } - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("off//XenOvfLogFwd.dll,XenOvfLogFwd.Log4Net")] - public string LogForwarding { - get { - return ((string)(this["LogForwarding"])); - } - } - [global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("128")] @@ -803,15 +740,6 @@ namespace XenOvf.Properties { } } - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("Citrix\\XenCenter\\logs")] - public string LogSubPath { - get { - return ((string)(this["LogSubPath"])); - } - } - [global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("4096")] diff --git a/XenOvfApi/Properties/Settings.settings b/XenOvfApi/Properties/Settings.settings index cb0b866ba..2e258bd6b 100644 --- a/XenOvfApi/Properties/Settings.settings +++ b/XenOvfApi/Properties/Settings.settings @@ -8,21 +8,6 @@ http://www.microsoft.com/technet/virtualserver/downloads/vhdspec.mspx - - Audit, Error, Warning - - - XenApplianceWizard.log - - - Audit, Console - - - XenLocalOVF - - - ApplicationData - XenServer P2V (Orela) Server @@ -119,9 +104,6 @@ http://www.vmware.com/schema/ovf/1/envelope - - Plain//Stamp - .vhd,.pvp,.vmdk,.mf,.cert,.xva,.ovf,.wim,.vdi,.sdi,.iso,.gz @@ -218,9 +200,6 @@ External Tools\xenserver-linuxfixup-disk.iso - - off//XenOvfLogFwd.dll,XenOvfLogFwd.Log4Net - 128 @@ -276,9 +255,6 @@ 1.3.1 - - Citrix\XenCenter\logs - 4096 diff --git a/XenOvfApi/Security.cs b/XenOvfApi/Security.cs index 60b126299..566030b41 100644 --- a/XenOvfApi/Security.cs +++ b/XenOvfApi/Security.cs @@ -115,7 +115,7 @@ namespace XenOvf CryptoFileWrapper(env, ovfFileName, password, true); if (_cancelEncrypt) { - Log.Info("Encrypt: CANCELLED successfully."); + log.Info("Encrypt: CANCELLED successfully."); } else { @@ -146,7 +146,7 @@ namespace XenOvf CryptoFileWrapper(env, ovfFileName, password, false); if (_cancelEncrypt) { - Log.Info("Encrypt: CANCELLED successfully."); + log.Info("Encrypt: CANCELLED successfully."); } else { @@ -370,14 +370,7 @@ namespace XenOvf } } - if (isValid) - { - Log.Audit(Messages.PASSWORD_SUCCESS); - } - else - { - Log.Audit(Messages.PASSWORD_FAILED); - } + auditLog.Debug(isValid ? Messages.PASSWORD_SUCCESS : Messages.PASSWORD_FAILED); return isValid; } /// @@ -439,8 +432,8 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("OVF.Security.Manifest: {0}", ex.Message); - throw ex; + log.ErrorFormat("OVF.Security.Manifest: {0}", ex.Message); + throw; } if (ovfenv != null && ovfenv.References != null && ovfenv.References.File != null && ovfenv.References.File.Length > 0) @@ -480,7 +473,7 @@ namespace XenOvf } } - Log.Debug("OVF.Manifest completed"); + log.Debug("OVF.Manifest completed"); } @@ -580,7 +573,7 @@ namespace XenOvf (env.References.File == null) || (env.References.File.Length == 0)) { - Log.Info("OVF.Security: No files to encrypt/decrypt."); + log.Info("OVF.Security: No files to encrypt/decrypt."); return; } try @@ -649,7 +642,7 @@ namespace XenOvf } else { - Log.Info("File already encrypted, skipping. [{0}]", file.href); + log.InfoFormat("File already encrypted, skipping. [{0}]", file.href); process = false; } } @@ -665,14 +658,14 @@ namespace XenOvf else { process = false; - Log.Info("File is not encrypted, skipping. [{0}]", file.href); + log.InfoFormat("File is not encrypted, skipping. [{0}]", file.href); } } if (process) { string fullname = string.Format(@"{0}\{1}", Path.GetDirectoryName(ovffilename), file.href); - Log.Debug(@"{0} : {1}", encrypt ? "Encrypt" : "Decrypt", fullname); + log.DebugFormat(encrypt ? "Encrypt: {0}" : "Decrypt: {0}", fullname); ICryptoTransform trans = CryptoSetup(cryptoclassname, password, encrypt, version); CryptoFile(trans, fullname, fullname + ".tmp", encrypt); if (_cancelEncrypt) @@ -753,8 +746,8 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("OVF.Security: Cryptography error: {0}", ex.Message); - throw ex; + log.ErrorFormat("OVF.Security: Cryptography error: {0}", ex.Message); + throw; } } private static CryptoStream CryptoStreamWrapper(Stream inputStream, string password, bool encrypt, string version) @@ -774,7 +767,7 @@ namespace XenOvf private static ICryptoTransform CryptoSetup(string cryptoclassname, string password, bool encrypt, string version) { - Log.Debug(@"{0} : using {1}", "CryptoSetup", cryptoclassname); + log.DebugFormat("CryptoSetup: using {0}", cryptoclassname); SymmetricAlgorithm cryptObject = null; try { @@ -787,13 +780,13 @@ namespace XenOvf } catch (Exception ex) { - Log.Error("Encryption class error: {0}", ex.Message); + log.ErrorFormat("Encryption class error: {0}", ex.Message); throw; } if (cryptObject == null) { - Log.Error("Encryption class could not be created"); + log.Error("Encryption class could not be created"); throw new ArgumentNullException(); } @@ -882,7 +875,7 @@ namespace XenOvf if (inputFile.Length > outputFile.Length && !_cancelEncrypt) { byte[] missing = new byte[inputFile.Length - outputFile.Length]; - Log.Warning("PADDING Unencrypted VHD, with {0} zeros", (inputFile.Length - outputFile.Length)); + log.WarnFormat("PADDING Unencrypted VHD, with {0} zeros", (inputFile.Length - outputFile.Length)); outputFile.Write(missing, 0, missing.Length); } } @@ -908,7 +901,7 @@ namespace XenOvf catch (CryptographicException ce) { // If we get here the password is considered invalid - Log.Debug("InternalCheckPassword: Invalid password. {0}", ce.Message); + log.DebugFormat("InternalCheckPassword: Invalid password. {0}", ce.Message); } return isValid; } @@ -918,19 +911,20 @@ namespace XenOvf MemoryStream ms = new MemoryStream(bytearray); MemoryStream os = new MemoryStream(); Stream checkStream = CryptoStreamWrapper(ms, password, false, version); - int r = -1; while (true) { + int r = -1; try { r = checkStream.ReadByte(); } catch (Exception ex) { - Log.Equals("CRYPTO Error: {0}", ex.Message); + log.ErrorFormat("CRYPTO Error: {0}", ex.Message); break; } - if (r == -1) break; + if (r == -1) + break; os.WriteByte((byte)r); } os.Position = 0; @@ -1045,4 +1039,4 @@ namespace XenOvf } } } -} \ No newline at end of file +} diff --git a/XenOvfApi/Utilities/Log.cs b/XenOvfApi/Utilities/Log.cs deleted file mode 100644 index f57b744be..000000000 --- a/XenOvfApi/Utilities/Log.cs +++ /dev/null @@ -1,452 +0,0 @@ -/* Copyright (c) Citrix Systems Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, - * with or without modification, are permitted provided - * that the following conditions are met: - * - * * Redistributions of source code must retain the above - * copyright notice, this list of conditions and the - * following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the - * following disclaimer in the documentation and/or other - * materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -// ============================================================================ -// Description: Utilitiy functions built on top of libxen for use in all -// providers. -// ============================================================================ - -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Reflection; -using System.Reflection.Emit; -using System.Security.Permissions; -using System.Text; -using System.Threading; - -namespace XenOvf.Utilities -{ - [Flags] - public enum EnumLogLevel { Off = 0, Audit = 1, Error = 2, Warning = 4, Info = 8, Trace = 16, Debug = 32 }; - [Flags] - public enum EnumLogType { Off = 0, Audit = 1, Console = 2, File = 4, Event = 8, Exception = 16 }; - public sealed class Log - { - private static FileStream fs; - private static string logpath = null; - private static string logfile = null; - private static object lockfile = new object(); - private static object lockevent = new object(); - private static object lockexcept = new object(); - private static EnumLogLevel defaultLogLevel = (EnumLogLevel.Audit | EnumLogLevel.Error | EnumLogLevel.Warning); - private static EnumLogType defaultLogType = (EnumLogType.Audit | EnumLogType.Console | EnumLogType.File); - private static bool isconfigured = false; - private static EnumLogLevel curLevel = defaultLogLevel; - private static EnumLogType logType = defaultLogType; - - private Log() { } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static string GetLogPath() - { - string path = null; - if (Properties.Settings.Default.LogPath.ToLower().StartsWith("installlocation")) - { - path = Path.GetDirectoryName(Assembly.GetCallingAssembly().Location); - } - else if (Properties.Settings.Default.LogPath.ToLower().StartsWith("applicationdata")) - { - path = Path.Combine(System.Environment.GetEnvironmentVariable("APPDATA"), Properties.Settings.Default.LogSubPath); - } - else if (Properties.Settings.Default.LogPath.ToLower().StartsWith("programdata")) - { - path = Path.Combine(System.Environment.GetEnvironmentVariable("ProgramData"), Properties.Settings.Default.LogSubPath); - } - else - { - path = Properties.Settings.Default.LogPath; - } - return path; - } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static string GetLogFileName() - { - return logfile; - } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static void Trace(string format, params object[] args) - { - Write(EnumLogLevel.Trace, format, args); - } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static void Debug(string format, params object[] args) - { - Write(EnumLogLevel.Debug, format, args); - } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static void Info(string format, params object[] args) - { - Write(EnumLogLevel.Info, format, args); - } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static void Warning(string format, params object[] args) - { - Write(EnumLogLevel.Warning, format, args); - } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static void Error(string format, params object[] args) - { - Write(EnumLogLevel.Error, format, args); - } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static void Audit(string format, params object[] args) - { - Write(EnumLogLevel.Audit, format, args); - } - - [SecurityPermission(SecurityAction.LinkDemand)] - public static void Bytes(byte[] bytes) - { - EnumLogLevel curLevel = (EnumLogLevel)Enum.Parse(typeof(EnumLogLevel), Properties.Settings.Default.LogLevel, true); - EnumLogType logType = (EnumLogType)Enum.Parse(typeof(EnumLogType), Properties.Settings.Default.LogType, true); - - #region LOG TO CONSOLE - if (logType >= EnumLogType.Console) - { - Console.WriteLine(Encoding.ASCII.GetString(bytes)); - } - #endregion - - #region LOG TO FILE - if (logType >= EnumLogType.File) - { - lock (lockfile) - { - if (fs == null) - { - try - { - fs = new FileStream(logfile, FileMode.Create, FileAccess.Write, FileShare.Read); - } - catch (Exception ex) - { - throw new Exception("Cannot open Repository, try running as Administrator or change location of Log", ex); - } - } - if (fs != null) - { - try - { - StreamWriter sw = new StreamWriter(fs); - sw.WriteLine(Encoding.ASCII.GetString(bytes)); - sw.Flush(); - } - catch - { - // do nothing - } - finally - { - // do nothing - } - } - } - } - #endregion - - } - - [SecurityPermission(SecurityAction.LinkDemand)] - private static void Write(EnumLogLevel level, string format, params object[] args) - { - string forwardstatus = null; - string resetloglevel = null; - string resetlogtype = null; - if (Properties.Settings.Default.LogForwarding.Length > 0 && - !Properties.Settings.Default.LogForwarding.ToLower().StartsWith("no") && - !Properties.Settings.Default.LogForwarding.ToLower().StartsWith("off")) - { - try - { - Forward(Properties.Settings.Default.LogForwarding, level, format, args); - return; - } - catch - { - forwardstatus = "FWD: "; - } - } - - if (logpath == null || logfile == null) - { - logpath = GetLogPath(); - logfile = Path.Combine(logpath, Properties.Settings.Default.LogFile); - } - - #region CONFIGURE TYPE AND LEVEL - if (!isconfigured) - { - if (Properties.Settings.Default.LogLevel.Length > 0) - { - try - { - curLevel = (EnumLogLevel)Enum.Parse(typeof(EnumLogLevel), Properties.Settings.Default.LogLevel, true); - } - catch - { - curLevel = defaultLogLevel; - resetloglevel = "--- Failure in determining configured log level, reset to: Audit, Error, Warning"; - } - - } - - if (Properties.Settings.Default.LogType.Length > 0) - { - try - { - logType = (EnumLogType)Enum.Parse(typeof(EnumLogType), Properties.Settings.Default.LogType, true); - } - catch - { - logType = defaultLogType; - resetlogtype = "--- Failure in determining configure log type, reset to: Audit, Console, File"; - } - } - - if ((curLevel & EnumLogLevel.Audit) != EnumLogLevel.Audit) - { - curLevel |= EnumLogLevel.Audit; - } - - if ((logType & EnumLogType.Audit) != EnumLogType.Audit) - { - logType |= EnumLogType.Audit; - } - isconfigured = true; - } - #endregion - - string data = string.Format(format, args); - string message = null; - if (level == EnumLogLevel.Audit) - { - message = string.Format("{0}:{1}.{2}.{3}.{4}.{5}.{6},{7}:[{8}] {9}", - level, - DateTime.Now.Year, - DateTime.Now.Month, - DateTime.Now.Day, - DateTime.Now.Hour, - DateTime.Now.Minute, - DateTime.Now.Second, - DateTime.Now.Millisecond, - System.Security.Principal.WindowsIdentity.GetCurrent().Name, - data - ); - - } - else - { - if (Properties.Settings.Default.LogFormat.ToLower().Equals("plain")) - { - message = data; - } - else - { - message = string.Format("{0}:{1}.{2}.{3}.{4}.{5}.{6},{7}: {8}", - level, - DateTime.Now.Year, - DateTime.Now.Month, - DateTime.Now.Day, - DateTime.Now.Hour, - DateTime.Now.Minute, - DateTime.Now.Second, - DateTime.Now.Millisecond, - data - ); - } - } - - if (forwardstatus != null) - { - message = forwardstatus + message; - } - - if (curLevel >= level && curLevel != EnumLogLevel.Off && logType != EnumLogType.Off) - { - - #region LOG TO CONSOLE - if ((logType & EnumLogType.Console) == EnumLogType.Console) - { - if (resetloglevel != null) - { - Console.WriteLine(resetloglevel); - } - if (resetlogtype != null) - { - Console.WriteLine(resetlogtype); - } - Console.WriteLine(message); - } - #endregion - - #region LOG TO FILE - if ((logType & EnumLogType.File) == EnumLogType.File) - { - lock (lockfile) - { - if (fs == null) - { - try - { - fs = new FileStream(logfile, FileMode.Append, FileAccess.Write, FileShare.ReadWrite); - } - catch (Exception ex) - { - throw new Exception("Cannot open log file, try running as Administrator or change location of Log", ex); - } - } - if (fs != null) - { - try - { - StreamWriter sw = new StreamWriter(fs); - if (resetloglevel != null) { sw.WriteLine(resetloglevel); } - if (resetlogtype != null) { sw.WriteLine(resetlogtype); } - sw.WriteLine(message); - sw.Flush(); - sw.Close(); - } - catch - { - // do nothing - } - finally - { - if (fs != null) fs.Close(); - fs = null; - } - } - } - } - #endregion - - #region LOG TO EVENT - if ((logType & EnumLogType.Event) == EnumLogType.Event) - { - lock (lockevent) - { - if (!EventLog.SourceExists(Properties.Settings.Default.LogSource)) - { - EventLog.CreateEventSource(Properties.Settings.Default.LogSource, "Application"); - } - EventLogEntryType logtype = EventLogEntryType.Information; - switch(level) - { - case EnumLogLevel.Audit: { logtype = EventLogEntryType.SuccessAudit; break; } - case EnumLogLevel.Debug: { break; } - case EnumLogLevel.Error: { logtype = EventLogEntryType.Error; break; } - case EnumLogLevel.Info: { logtype = EventLogEntryType.Information; break; } - case EnumLogLevel.Warning: { break; } - case EnumLogLevel.Trace: { break; } - case EnumLogLevel.Off: { break; } - default: { break; } - } - EventLog.WriteEntry(Properties.Settings.Default.LogSource, message, logtype); - } - } - #endregion - - #region LOG TO EXCEPTION - if ((logType & EnumLogType.Exception) == EnumLogType.Exception) - { - lock (lockexcept) - { - throw new Exception(message); - } - } - #endregion - - #region LOG IN DebugView - if ((curLevel & EnumLogLevel.Debug) == EnumLogLevel.Debug) - { - if (resetloglevel != null) { System.Diagnostics.Debug.WriteLine(resetloglevel); } - if (resetlogtype != null) { System.Diagnostics.Debug.WriteLine(resetlogtype); } - System.Diagnostics.Debug.WriteLine(message); - } - #endregion - - #region LOG IN TraceView - if ((curLevel & EnumLogLevel.Trace) == EnumLogLevel.Trace) - { - if (resetloglevel != null) { System.Diagnostics.Debug.WriteLine(resetloglevel); } - if (resetlogtype != null) { System.Diagnostics.Debug.WriteLine(resetlogtype); } - System.Diagnostics.Trace.WriteLine(message); - } - #endregion - } - - resetloglevel = null; - resetlogtype = null; - } - - private static void Forward(string AssemblyClassName, EnumLogLevel level, string format, params object[] args) - { - - string[] _assemblyinfo = AssemblyClassName.Split(new char[] { ',' }); - - try - { - Assembly logassembly = null; - try - { - logassembly = Assembly.GetAssembly(Type.GetType(_assemblyinfo[1])); - } - catch { } - if (logassembly == null) - { - string asspath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), _assemblyinfo[0]); - logassembly = Assembly.LoadFrom(asspath); - } - Type LogClassType = logassembly.GetType(_assemblyinfo[1]); - MethodInfo mi = LogClassType.GetMethod(level.ToString()); - List newargs = new List(); - newargs.Add(format); - newargs.Add(args); - - mi.Invoke(null, newargs.ToArray()); - } - catch (Exception ex) - { - throw ex; - } - - } - } -} diff --git a/XenOvfApi/Utilities/Utilities.cs b/XenOvfApi/Utilities/Utilities.cs index 31bd655a0..b43724d02 100644 --- a/XenOvfApi/Utilities/Utilities.cs +++ b/XenOvfApi/Utilities/Utilities.cs @@ -61,6 +61,8 @@ namespace XenOvf.Utilities /// public sealed class Tools { + private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + private const long KB = 1024; private const long MB = (KB * 1024); private const long GB = (MB * 1024); @@ -106,8 +108,8 @@ namespace XenOvf.Utilities } catch (Exception ex) { - Log.Error("Utilities.LoadFile: failed: {0}", ex.Message); - throw ex; + log.ErrorFormat("Utilities.LoadFile: failed: {0}", ex.Message); + throw; } finally { @@ -144,7 +146,7 @@ namespace XenOvf.Utilities } catch (Exception ex) { - Log.Debug("Tools.Deserialize failed attempt (may get retried)", ex.Message); + log.DebugFormat("Tools.Deserialize failed attempt (may get retried) {0}", ex.Message); if (ex.InnerException != null && ex.InnerException.Message.ToLower().Contains("hexadecimal value 0x00")) { throw new InvalidDataException(Messages.INVALID_DATA_IN_OVF, ex); @@ -199,7 +201,7 @@ namespace XenOvf.Utilities } catch (Exception ex) { - Log.Error("OVF.Tools.Serialize failed {0}", ex.Message); + log.ErrorFormat("OVF.Tools.Serialize failed {0}", ex.Message); throw new CtxUtilitiesException(ex.Message,ex); } finally @@ -293,7 +295,7 @@ namespace XenOvf.Utilities if (!File.Exists(ovfFilePath)) { - Log.Error("Utilities.LoadOvfXml: File not found: {0}", ovfFilePath); + log.ErrorFormat("Utilities.LoadOvfXml: File not found: {0}", ovfFilePath); throw new FileNotFoundException(string.Format(Messages.FILE_MISSING, ovfFilePath)); } @@ -315,7 +317,7 @@ namespace XenOvf.Utilities } catch (Exception ex) { - Log.Info("Attempt reading xml failed. {0}", ex.Message); + log.InfoFormat("Attempt reading xml failed. {0}", ex.Message); } if (ovfEnv != null && ovfEnv.AnyAttr != null) @@ -341,7 +343,7 @@ namespace XenOvf.Utilities if (ovfEnv == null) { ovfEnv = LoadVmw35OvfXml(ovfxml); - Log.Error("Last Change Convert died."); + log.Error("Last Change Convert died."); } return ovfEnv; @@ -422,18 +424,18 @@ namespace XenOvf.Utilities } catch (XmlException xmlex) - { - Log.Error("ValidateXmlToSchema XML Exception: {0}", xmlex.Message); + { + log.ErrorFormat("ValidateXmlToSchema XML Exception: {0}", xmlex.Message); throw new Exception(xmlex.Message, xmlex); } catch (XmlSchemaException schemaex) { - Log.Error("ValidateXmlToSchema Schema Exception: {0}", schemaex.Message); + log.ErrorFormat("ValidateXmlToSchema Schema Exception: {0}", schemaex.Message); throw new Exception(schemaex.Message, schemaex); } catch (Exception ex) { - Log.Error("ValidateXmlToSchema Exception: {0}", ex.Message); + log.ErrorFormat("ValidateXmlToSchema Exception: {0}", ex.Message); throw new Exception(ex.Message, ex); } finally @@ -584,7 +586,7 @@ namespace XenOvf.Utilities private static void ShowSchemaValidationCompileErrors(object sender, ValidationEventArgs args) { - Log.Error("ShowSchemaValidationCompileErrors: {0}", args.Message); + log.ErrorFormat("ShowSchemaValidationCompileErrors: {0}", args.Message); } private static bool ValidateField(string name, object target) { @@ -613,7 +615,7 @@ namespace XenOvf.Utilities .Replace(" rasd.Limit.Value) { var message = string.Format(Messages.VALIDATION_INVALID_CPU_EXCEEDS_LIMIT, rasd.VirtualQuantity.Value, rasd.Limit.Value); - Log.Error(message); + log.Error(message); validationErrorMessages.Add(message); isValid = false; break; } if (rasd.InstanceID == null || rasd.InstanceID.Value.Length <= 0) { - Log.Info("CPU has an invalid InstanceID, creating new."); + log.Info("CPU has an invalid InstanceID, creating new."); validationErrorMessages.Add(Messages.VALIDATION_INVALID_INSTANCEID); rasd.InstanceID = new cimString(Guid.NewGuid().ToString()); break; @@ -409,21 +413,21 @@ namespace XenOvf { if (rasd.VirtualQuantity == null || rasd.VirtualQuantity.Value <= 0) { - Log.Error("Memory invalid Virtual Quantity"); + log.Error("Memory invalid Virtual Quantity"); validationErrorMessages.Add(Messages.VALIDATION_INVALID_MEMORY_QUANTITY); isValid = false; break; } if (rasd.AllocationUnits == null || rasd.AllocationUnits.Value.Length <= 0) { - Log.Error("Memory AllocationUnits not valid"); + log.Error("Memory AllocationUnits not valid"); validationErrorMessages.Add(Messages.VALIDATION_INVALID_MEMORY_ALLOCATIONUNITS); isValid = false; break; } if (rasd.InstanceID == null || rasd.InstanceID.Value.Length <= 0) { - Log.Info("Memory has an invalid InstanceID, creating new."); + log.Info("Memory has an invalid InstanceID, creating new."); validationErrorMessages.Add(Messages.VALIDATION_INVALID_INSTANCEID); rasd.InstanceID = new cimString(Guid.NewGuid().ToString()); break; @@ -445,7 +449,7 @@ namespace XenOvf bool linkage = false; if (rasd.InstanceID == null || rasd.InstanceID.Value.Length <= 0) { - Log.Info("Network has an invalid InstanceID, creating new."); + log.Info("Network has an invalid InstanceID, creating new."); validationErrorMessages.Add(Messages.VALIDATION_INVALID_INSTANCEID); rasd.InstanceID = new cimString(Guid.NewGuid().ToString()); break; @@ -465,7 +469,7 @@ namespace XenOvf } if (!linkage) { - Log.Error(Messages.VALIDATION_NETWORK_NO_DEVICE); + log.Error(Messages.VALIDATION_NETWORK_NO_DEVICE); validationErrorMessages.Add(Messages.VALIDATION_NETWORK_NO_DEVICE); isValid = false; break; @@ -530,7 +534,7 @@ namespace XenOvf if (rasd.required) { var message = string.Format(Messages.VALIDATION_REQUIRED_ELEMENT_NOT_RECOGNIZED, rasd.ResourceType.Value, rasd.ElementName.Value); - Log.Error(message); + log.Error(message); validationErrorMessages.Add(message); isValid = false; } @@ -560,7 +564,7 @@ namespace XenOvf if (!isValid) { isValid = false; - Log.Error(Messages.VALIDATION_SCHEMA_FAILED); + log.Error(Messages.VALIDATION_SCHEMA_FAILED); validationErrorMessages.Add(Messages.VALIDATION_SCHEMA_FAILED); } } @@ -580,7 +584,7 @@ namespace XenOvf if (!Properties.Settings.Default.knownVirtualSystemTypes.Contains(vhs.System.VirtualSystemType.Value)) { var message = string.Format(Messages.VALIDATION_UNKNOWN_HARDWARE_TYPE, vhs.System.VirtualSystemType.Value); - Log.Warning(message); + log.Warn(message); validationErrorMessages.Add(message); isValid = false; } diff --git a/XenOvfApi/XenOvfApi.csproj b/XenOvfApi/XenOvfApi.csproj index f7f3b9b36..7dbcb87b1 100644 --- a/XenOvfApi/XenOvfApi.csproj +++ b/XenOvfApi/XenOvfApi.csproj @@ -39,6 +39,10 @@ true + + False + ..\log4net\build\bin\net\2.0\release\log4net.dll + 3.5 @@ -99,7 +103,6 @@ Code - @@ -196,7 +199,7 @@ - + \ No newline at end of file diff --git a/XenOvfTransport/Export.cs b/XenOvfTransport/Export.cs index 715cdfa30..e409b2ba1 100644 --- a/XenOvfTransport/Export.cs +++ b/XenOvfTransport/Export.cs @@ -47,6 +47,8 @@ namespace XenOvfTransport public class Export : XenOvfTransportBase { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + private static readonly log4net.ILog auditLog = log4net.LogManager.GetLogger("Audit"); + private static readonly log4net.ILog traceLog = log4net.LogManager.GetLogger("Trace"); private const long KB = 1024; private const long MB = (KB * 1024); @@ -90,7 +92,7 @@ namespace XenOvfTransport try { - log.InfoFormat("Export: {0}, {1}", ovfname, targetPath); + auditLog.DebugFormat("Export: {0}, {1}", ovfname, targetPath); #region GET VM Reference XenRef vmRef = null; @@ -110,7 +112,7 @@ namespace XenOvfTransport { List> vmRefs = VM.get_by_name_label(xenSession, vmUuid); vmRef = vmRefs[0]; - log.DebugFormat("{0} VM(s) found by label {1}", vmRefs.Count, vmUuid); + traceLog.DebugFormat("{0} VM(s) found by label {1}", vmRefs.Count, vmUuid); if (vmRefs.Count > 1) log.WarnFormat("Only exporting FIRST VM with name {0}", vmUuid); } diff --git a/XenOvfTransport/Import.cs b/XenOvfTransport/Import.cs index 0d9780fdf..d3aeb77f8 100644 --- a/XenOvfTransport/Import.cs +++ b/XenOvfTransport/Import.cs @@ -63,7 +63,9 @@ namespace XenOvfTransport { public class Import : XenOvfTransportBase { - private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + private static readonly log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private static readonly log4net.ILog auditLog = log4net.LogManager.GetLogger("Audit"); + private static readonly log4net.ILog traceLog = log4net.LogManager.GetLogger("Trace"); private const long KB = 1024; private const long MB = (KB * 1024); @@ -269,7 +271,7 @@ namespace XenOvfTransport { //FIND/SET THE NAME OF THE VM ovfname = OVF.FindSystemName(ovfObj, vSystem.id); - log.InfoFormat("Import: {0}, {1}", ovfname, pathToOvf); + auditLog.DebugFormat("Import: {0}, {1}", ovfname, pathToOvf); VirtualHardwareSection_Type vhs = OVF.FindVirtualHardwareSectionByAffinity(ovfObj, vSystem.id, "xen"); @@ -974,7 +976,7 @@ namespace XenOvfTransport } else { - log.DebugFormat("Directory ReparsePoint {0}", dir.FullName); + traceLog.InfoFormat("Directory ReparsePoint {0}", dir.FullName); ReparsePoint rp = w.GetReparsePoint(dir.FullName); ntfs.CreateDirectory(dir.FullName); ntfs.SetReparsePoint(dir.FullName, rp); @@ -1009,7 +1011,7 @@ namespace XenOvfTransport } else { - log.DebugFormat("Reparse Point: {0}", file.FullName); + traceLog.InfoFormat("Reparse Point: {0}", file.FullName); ReparsePoint rp = w.GetReparsePoint(file.FullName); ntfs.SetReparsePoint(file.FullName, rp); } @@ -1598,11 +1600,11 @@ namespace XenOvfTransport } catch { - log.Debug("Import.AddResourceSettingData: iso sr uuid not found, trying name_label"); + traceLog.Debug("Import.AddResourceSettingData: iso sr uuid not found, trying name_label"); } #endregion - #region TRY IS AS NAME_LABEL + #region TRY IT AS NAME_LABEL try { List> srrefList = SR.get_by_name_label(xenSession, isoUuid); @@ -1614,7 +1616,7 @@ namespace XenOvfTransport } catch { - log.Debug("Import.AddResourceSettingData: iso sr uuid not found, looking for vdi..."); + traceLog.Debug("Import.AddResourceSettingData: iso sr uuid not found, looking for vdi..."); } #endregion } @@ -1879,7 +1881,7 @@ namespace XenOvfTransport } catch { - log.Debug("Import.AddResourceSettingData: SR missing... still looking.."); + traceLog.Debug("Import.AddResourceSettingData: SR missing... still looking.."); } if (srref == null) { @@ -1890,7 +1892,7 @@ namespace XenOvfTransport } catch { - log.Debug("Import.AddResourceSettingData: SR missing... still looking.."); + traceLog.Debug("Import.AddResourceSettingData: SR missing... still looking.."); } if (srlist != null && srlist.Count > 0) {