internal JObject VerifyOuterMessageAndReturnInnerMessage(IPluginLogMessage logMessage, DateTimeOffset expectedNow, string expectedType) { var json = logMessage.ToString(); var actualResult = JsonConvert.DeserializeObject <JObject>(json, _jsonSettings); Assert.Equal(3, actualResult.Count); VerifyNow(expectedNow, actualResult); VerifyType(expectedType, actualResult); return(VerifyAndReturnMessage(actualResult)); }
public void Write(IPluginLogMessage message) { if (!IsEnabled) { return; } if (_isDisposed) { throw new ObjectDisposedException(nameof(PluginLogger)); } if (message == null) { throw new ArgumentException(Strings.ArgumentCannotBeNullOrEmpty, nameof(message)); } lock (_streamWriterLock) { _streamWriter.Value.WriteLine(message.ToString()); } }
private StreamWriter CreateStreamWriter(IPluginLogMessage message) { if (IsEnabled) { FileInfo file; int processId; using (var process = Process.GetCurrentProcess()) { file = new FileInfo(process.MainModule.FileName); processId = process.Id; } var fileName = $"NuGet_PluginLogFor_{Path.GetFileNameWithoutExtension(file.Name)}_{DateTime.UtcNow.Ticks:x}.log"; var filePath = Path.Combine(_logDirectoryPath, fileName); var stream = File.Open(filePath, FileMode.Create, FileAccess.Write, FileShare.Read); try { var streamWriter = new StreamWriter(stream); streamWriter.AutoFlush = true; streamWriter.WriteLine(message.ToString()); return(streamWriter); } catch (Exception) { stream.Dispose(); throw; } } return(StreamWriter.Null); }
public void Write(IPluginLogMessage message) { _pluginLogger.Write($"{_tagName}: {message.ToString()}"); }