public void PrintActivationDirectory() { if (logger.IsInfo) { string stats = Utils.EnumerableToString(activations.Values.OrderBy(act => act.Name), act => string.Format("++{0}", act.DumpStatus()), Environment.NewLine); if (stats.Length > 0) { logger.LogWithoutBulkingAndTruncating(Severity.Info, ErrorCode.Catalog_ActivationDirectory_Statistics, String.Format("ActivationDirectory.PrintActivationDirectory(): Size = {0}, Directory:" + Environment.NewLine + "{1}", activations.Count, stats)); } } }
private static void LogGrainTypesFound(LoggerImpl logger, Dictionary <string, GrainTypeData> grainTypeData) { var sb = new StringBuilder(); sb.AppendLine(String.Format("Loaded grain type summary for {0} types: ", grainTypeData.Count)); foreach (var grainType in grainTypeData.Values.OrderBy(gtd => gtd.Type.FullName)) { // Skip system targets and Orleans grains var assemblyName = grainType.Type.Assembly.FullName.Split(',')[0]; if (!typeof(ISystemTarget).IsAssignableFrom(grainType.Type)) { int grainClassTypeCode = CodeGeneration.GrainInterfaceUtils.GetGrainClassTypeCode(grainType.Type); sb.AppendFormat("Grain class {0}.{1} [{2} (0x{3})] from {4}.dll implementing interfaces: ", grainType.Type.Namespace, TypeUtils.GetTemplatedName(grainType.Type), grainClassTypeCode, grainClassTypeCode.ToString("X"), assemblyName); var first = true; foreach (var iface in grainType.RemoteInterfaceTypes) { if (!first) { sb.Append(", "); } sb.Append(iface.Namespace).Append(".").Append(TypeUtils.GetTemplatedName(iface)); if (CodeGeneration.GrainInterfaceUtils.IsGrainType(iface)) { int ifaceTypeCode = CodeGeneration.GrainInterfaceUtils.GetGrainInterfaceId(iface); sb.AppendFormat(" [{0} (0x{1})]", ifaceTypeCode, ifaceTypeCode.ToString("X")); } first = false; } sb.AppendLine(); } } var report = sb.ToString(); logger.LogWithoutBulkingAndTruncating(Severity.Info, ErrorCode.Loader_GrainTypeFullList, report); }
private static void LogGrainTypesFound(LoggerImpl logger, Dictionary<string, GrainTypeData> grainTypeData) { var sb = new StringBuilder(); sb.AppendLine(String.Format("Loaded grain type summary for {0} types: ", grainTypeData.Count)); foreach (var grainType in grainTypeData.Values.OrderBy(gtd => gtd.Type.FullName)) { // Skip system targets and Orleans grains var assemblyName = grainType.Type.GetTypeInfo().Assembly.FullName.Split(',')[0]; if (!typeof(ISystemTarget).IsAssignableFrom(grainType.Type)) { int grainClassTypeCode = CodeGeneration.GrainInterfaceUtils.GetGrainClassTypeCode(grainType.Type); sb.AppendFormat("Grain class {0}.{1} [{2} (0x{3})] from {4}.dll implementing interfaces: ", grainType.Type.Namespace, TypeUtils.GetTemplatedName(grainType.Type), grainClassTypeCode, grainClassTypeCode.ToString("X"), assemblyName); var first = true; foreach (var iface in grainType.RemoteInterfaceTypes) { if (!first) sb.Append(", "); sb.Append(iface.Namespace).Append(".").Append(TypeUtils.GetTemplatedName(iface)); if (CodeGeneration.GrainInterfaceUtils.IsGrainType(iface)) { int ifaceTypeCode = CodeGeneration.GrainInterfaceUtils.GetGrainInterfaceId(iface); sb.AppendFormat(" [{0} (0x{1})]", ifaceTypeCode, ifaceTypeCode.ToString("X")); } first = false; } sb.AppendLine(); } } var report = sb.ToString(); logger.LogWithoutBulkingAndTruncating(Severity.Info, ErrorCode.Loader_GrainTypeFullList, report); }