Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modify static fields/methods to non-static for less memory consumption #4

Merged
Merged
Changes from 1 commit
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

correct indentation

  • Loading branch information
shweta authored and Shweta-jain committed Mar 2, 2017
commit 8c1643ac5258be107cc8aad474503a85ba30910f
@@ -8,14 +8,14 @@

namespace log4net.loggly
{
public class LogglyAppender : AppenderSkeleton
public class LogglyAppender : AppenderSkeleton
{
List<string> lstLogs = new List<string>();
string[] arr = new string[100];
public readonly string InputKeyProperty = "LogglyInputKey";
public ILogglyFormatter Formatter = new LogglyFormatter();
public ILogglyClient Client = new LogglyClient();
public LogglySendBufferedLogs _sendBufferedLogs = new LogglySendBufferedLogs();
public LogglySendBufferedLogs _sendBufferedLogs = new LogglySendBufferedLogs();
private ILogglyAppenderConfig Config = new LogglyAppenderConfig();
public string RootUrl { set { Config.RootUrl = value; } }
public string InputKey { set { Config.InputKey = value; } }
@@ -43,8 +43,8 @@ void t_Elapsed(object sender, Timer.ElapsedEventArgs e)
if (lstLogs.Count != 0)
{
SendAllEvents(lstLogs.ToArray());
}
_sendBufferedLogs.sendBufferedLogsToLoggly(Config, Config.LogMode == "bulk/");
}
_sendBufferedLogs.sendBufferedLogsToLoggly(Config, Config.LogMode == "bulk/");
}

protected override void Append(LoggingEvent loggingEvent)
@@ -98,7 +98,7 @@ private void SendAllEvents(string[] events)
{
lstLogs.Clear();
String bulkLog = String.Join(System.Environment.NewLine, events);
LogglyAsync.PostMessage(bulkLog, Config);
LogglyAsync.PostMessage(bulkLog, Config);
}

}
@@ -8,8 +8,8 @@ namespace log4net.loggly
{
public class LogglyClient : ILogglyClient
{
bool isValidToken = true;
public LogglyStoreLogsInBuffer _storeLogsInBuffer = new LogglyStoreLogsInBuffer();
bool isValidToken = true;
public LogglyStoreLogsInBuffer _storeLogsInBuffer = new LogglyStoreLogsInBuffer();

public void setTokenValid(bool flag)
{
@@ -43,8 +43,8 @@ public virtual void Send(ILogglyAppenderConfig config, string message)
string _tag = config.Tag;
bool isBulk = config.LogMode.Contains("bulk");

HttpWebResponse webResponse;
HttpWebRequest webRequest;
HttpWebResponse webResponse;
HttpWebRequest webRequest;

//keeping userAgent backward compatible
if (!string.IsNullOrWhiteSpace(config.UserAgent))
@@ -55,56 +55,56 @@ public virtual void Send(ILogglyAppenderConfig config, string message)
while (isValidToken && totalRetries < maxRetryAllowed)
{
totalRetries++;
try
{
var bytes = Encoding.UTF8.GetBytes(message);
webRequest = CreateWebRequest(config, _tag);

using (var dataStream = webRequest.GetRequestStream())
{
dataStream.Write(bytes, 0, bytes.Length);
dataStream.Flush();
dataStream.Close();
}
webResponse = (HttpWebResponse)webRequest.GetResponse();
webResponse.Close();
break;
}

catch (WebException e)
{
if (totalRetries == 1)
{
var response = (HttpWebResponse)e.Response;
if (response != null)
{
// Check for bad token
if (response.StatusCode == HttpStatusCode.Forbidden)
{
// set valid token flag to false
setTokenValid(false);
}
else
{
// store logs to buffer
storeLogs(message, config, isBulk);
}
printErrorMessage(e.Message);
}
else
{
// store logs to buffer
storeLogs(message, config, isBulk);
}
}
}

finally
{
webRequest = null;
webResponse = null;
GC.Collect();
}
try
{
var bytes = Encoding.UTF8.GetBytes(message);
webRequest = CreateWebRequest(config, _tag);

using (var dataStream = webRequest.GetRequestStream())
{
dataStream.Write(bytes, 0, bytes.Length);
dataStream.Flush();
dataStream.Close();
}
webResponse = (HttpWebResponse)webRequest.GetResponse();
webResponse.Close();
break;
}

catch (WebException e)
{
if (totalRetries == 1)
{
var response = (HttpWebResponse)e.Response;
if (response != null)
{
// Check for bad token
if (response.StatusCode == HttpStatusCode.Forbidden)
{
// set valid token flag to false
setTokenValid(false);
}
else
{
// store logs to buffer
storeLogs(message, config, isBulk);
}
printErrorMessage(e.Message);
}
else
{
// store logs to buffer
storeLogs(message, config, isBulk);
}
}
}

finally
{
webRequest = null;
webResponse = null;
GC.Collect();
}
}
}

@@ -120,15 +120,15 @@ public void Send(ILogglyAppenderConfig config, string message, bool isbulk)
_tag = _tag + "," + config.UserAgent;
}
var bytes = Encoding.UTF8.GetBytes(message);
var webRequest = CreateWebRequest(config, _tag);
var webRequest = CreateWebRequest(config, _tag);

using (var dataStream = webRequest.GetRequestStream())
{
dataStream.Write(bytes, 0, bytes.Length);
dataStream.Flush();
dataStream.Close();
}
var webResponse = (HttpWebResponse)webRequest.GetResponse();
var webResponse = (HttpWebResponse)webRequest.GetResponse();
webResponse.Close();
}
}
@@ -138,8 +138,8 @@ protected virtual HttpWebRequest CreateWebRequest(ILogglyAppenderConfig config,
var url = String.Concat(config.RootUrl, config.LogMode, config.InputKey);
//adding userAgent as tag in the log
url = String.Concat(url, "/tag/" + tag);
HttpWebRequest request = null;
request = (HttpWebRequest)WebRequest.Create(url);
HttpWebRequest request = null;
request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ReadWriteTimeout = request.Timeout = config.TimeoutInSeconds * 1000;
request.UserAgent = config.UserAgent;
@@ -10,31 +10,31 @@ public class LogglySendBufferedLogs
public string message = null;
public List<string> arrayMessage = new List<string>();
public ILogglyClient Client = new LogglyClient();
public LogglyClient _logClient = new LogglyClient();
public LogglyStoreLogsInBuffer _storeEventsInBuffer = new LogglyStoreLogsInBuffer();
public LogglyClient _logClient = new LogglyClient();
public LogglyStoreLogsInBuffer _storeEventsInBuffer = new LogglyStoreLogsInBuffer();

public void sendBufferedLogsToLoggly(ILogglyAppenderConfig config, bool isBulk)
{
if (_storeEventsInBuffer.arrBufferedMessage.Count > 0)
if (_storeEventsInBuffer.arrBufferedMessage.Count > 0)
{
int bulkModeBunch = 100;
int inputModeBunch = 1;
int logInBunch = isBulk ? bulkModeBunch : inputModeBunch;
arrayMessage = _storeEventsInBuffer.arrBufferedMessage.Take(logInBunch).ToList();
arrayMessage = _storeEventsInBuffer.arrBufferedMessage.Take(logInBunch).ToList();
message = isBulk ? String.Join(System.Environment.NewLine, arrayMessage) : arrayMessage[0];
try
{
Client.Send(config, message, isBulk);
var tempList = _storeEventsInBuffer.arrBufferedMessage;
if (_storeEventsInBuffer.arrBufferedMessage.Count < arrayMessage.Count)
var tempList = _storeEventsInBuffer.arrBufferedMessage;
if (_storeEventsInBuffer.arrBufferedMessage.Count < arrayMessage.Count)
{
_storeEventsInBuffer.arrBufferedMessage.Clear();
_storeEventsInBuffer.arrBufferedMessage.Clear();
}
else
{
tempList.RemoveRange(0, arrayMessage.Count);
}
_storeEventsInBuffer.arrBufferedMessage = tempList;
_storeEventsInBuffer.arrBufferedMessage = tempList;
}
catch (WebException e)
{
@@ -46,12 +46,12 @@ public void sendBufferedLogsToLoggly(ILogglyAppenderConfig config, bool isBulk)
return;
}
}
finally
{
arrayMessage.Clear();
arrayMessage = null;
GC.Collect();
}
finally
{
arrayMessage.Clear();
arrayMessage = null;
GC.Collect();
}
}
}
}
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.